Jxl使用
Jxl是对excel操作的一组API,下面就通过两个例子介绍一下它:
read Excel
public String readExcel(){
try {
//选取指定的excel
Workbook workbook = Workbook.getWorkbook(new File("text.xls"));
//选取制定的sheet
Sheet sheet = workbook.getSheet(0);
//选取指定的cell
//遍历循环得到所要的cell值
for(int j = 0 ;j<sheet.getRows() ; j++)
for(int i = 0 ;i<sheet.getColumns();i++){
Cell cell = sheet.getCell(i,j);
//获取该cell的值
String var1 = cell.getContents();
//打印输出该值
System.out.println(var1);
}
} catch (BiffException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
return null;
}
注意:
所有的参数全部是(column,row)
workbook.getSheet(0);参数代表sheet的名,0代表第一个sheet,可以去该sheet的全名
用getRows()&getColumn()取得的列数和行数是系统自动为你取得,即excel中实际使用的行数和列数,它包括,人为自定义的空行和空列,它也会取到,请使用是注意。
write Excel
/**
* 测试jxl写入excel
* @author wanggang
* @param null
* @throws WriteException
* @throws RowsExceededException
*/
public String writeExcel()throws IOException, RowsExceededException, WriteException{
//创建Excel
WritableWorkbook workbook = Workbook.createWorkbook(new File("write.xls"));
//创建sheet
WritableSheet sheet1 = workbook.createSheet("测试用excel", 1);
WritableSheet sheet2 = workbook.createSheet("测试excel", 0);
/**
* 总结:createSheet("sheetName",index);
* @param index表示该sheet是第几个sheet
*
*/
//开始创建cell
//WritableCell cell
for(int i = 0 ; i < 10 ;i++){
sheet1.addCell(new jxl.write.Label(1, i, "书目ID"));
/**
* 总结:addCell(new Lable(column,row,"content"));
*
*/
}
workbook.write();
workbook.close();
//sheet.addCell(new jxl.write.Label(0, 1, "书目ID"));
return null;
}
注意:
WritableSheet要用接口定义,不能用实体类,不然不能进行写操作
总结:
1、Workbook.createWorkbook(new File("write.xls"));和Workbook.getWorkbook(new File("text.xls"));
中new File(“name”);都要包含相对路径。