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”);都要包含相对路径。