简介:
jxl.jar是通过java操作excel表格的工具类库
jxl操作excel包括对象Workbook(工作簿),Sheet(工作表) ,Cell(单元格)。
一个excel就对应一个Workbook对象。
一个Workbook可以有多个Sheet对象。
一个Sheet对象可以有多个Cell对象。
读取Excel操作
通过Workbook,Sheet ,Cell这三个对象我们就可以实现Excel文件的读取工作。
读取步骤:
1、 选取Excel文件得到工作薄
Workbook workbook = Workbook.getWorkbook(new File("myfile.xls"));
2、 选择工作表,通过Workbook的getSheet方法选择第一个工作表(从0开始)
Sheet sheet = workbook.getSheet(0);
3、 选择Cell
读取单元格
通过Sheet的getCell方法选择位置为C2的单元格(两个参数都从0开始)
Cell c2 = sheet.getCell(2,1);
4、 读取信息
通过Cell的getContents方法读取单元格的值
把单元格中的信息以字符的形式读取出来String stringc2 = c2.getContents();
Cell提供了一个getType方法
能够返回单元格的类型信息,同时JXL提供了一个CellType类用来预设Excel中的类型信息,而且JXL提供了一些Cell类的子类用来分别用来表示各种类型的单元格,如LabelCell,NumberCell,DateCell分别表示字符、数值、日期类型的单元格
5、释放资源:
workbook.close()
import java.io.File;
import java.io.IOException;
import jxl.Sheet;
import jxl.Workbook;
import jxl.read.biff.BiffException;
/**
* jxl读excel
*
* @author jianggujin
*
*/
public class JxlReadDemo
{
public static void main(String[] args) throws BiffException, IOException
{
File xlsFile = new File("jxl.xls");
// 获得工作簿对象
Workbook workbook = Workbook.getWorkbook(xlsFile);
// 获得所有工作表
Sheet[] sheets = workbook.getSheets();
// 遍历工作表
if (sheets != null)
{
for (Sheet sheet : sheets)
{
// 获得行数
int rows = sheet.getRows();
// 获得列数
int cols = sheet.getColumns();
// 读取数据
for (int row = 0; row < rows; row++)
{
for (int col = 0; col < cols; col++)
{
System.out.printf("%10s", sheet.getCell(col, row)
.getContents());
}
System.out.println();
}
}
}
workbook.close();
}
}
写入excel操作
通过WritableWorkbook,WritableSheet,Label这三个对象我们就可以实现Excel文件的插入工作。
1、 创建可写入的Excel工作薄
WritableWorkbook wwb = Workbook.createWorkbook(new File(“myfile.xls”));
2、创建工作表
WritableSheet ws = wwb.createSheet(“通讯录”, 0);
3、创建单元格
添加文本类单元格
Label labelC = new Label(0, 0, “This is a Label cell”);
ws.addCell(labelC);
4、写入到文件
wwb.write();// 写入数据
5、释放资源:
wwb.close();// 关闭文件
import java.io.File;
import java.io.IOException;
import jxl.Workbook;
import jxl.write.Label;
import jxl.write.WritableSheet;
import jxl.write.WritableWorkbook;
import jxl.write.WriteException;
/**
* jxl写Excel
*
* @author jianggujin
*
*/
public class JxlWriteDemo
{
public static void main(String[] args) throws IOException, WriteException
{
File xlsFile = new File("jxl.xls");
// 创建一个工作簿
WritableWorkbook workbook = Workbook.createWorkbook(xlsFile);
// 创建一个工作表
WritableSheet sheet = workbook.createSheet("sheet1", 0);
for (int row = 0; row < 10; row++)
{
for (int col = 0; col < 10; col++)
{
// 向工作表中添加数据
sheet.addCell(new Label(col, row, "data" + row + col));
}
}
workbook.write();
workbook.close();
}
}
更新excel操作
1、创建只读的Excel表副本
Workbook workbook = Workbook.getWorkbook(file);
2、创建可写入的Excel工作薄
WritableWorkbook writableWorkbook = Workbook.createWorkbook(file, workbook);
3、其他操作与写入excel操作类似