上一篇文章讲解了poi技术解析excel文件,现在要讲的是jxl技术,更简单更方便。
主要的类:
Workbook --------工作表,Workbook 类的getWorkbook方法创建,
Sheet--------------表格,Workbook 实例的getSheet(int num)方法获取,
Cell-----------------单元格,Sheet实例的getCell方法获取,
最后通过Cell实例的getContents方法获取单元格的值。
excel文件数据 :
实现类代码:
public class Jxl {
public static void main(String args[]) {
try {
Workbook book = Workbook.getWorkbook( new File( "jxl.xls" ));
// 获得第一个表格对象
Sheet sheet = book.getSheet( 0 );
//拿到表格的行数
int row = sheet.getRows();
//拿到表格的列数
int col = sheet.getColumns();
System.out.println("行:"+ row);
System.out.println("列:"+ col);
//用二维数组保存表格的数据
String[][] result = new String[row][col];
//遍历表格拿到表格数据
for(int i =0;i<row;i++)
for(int j=0;j<col;j++){
Cell cell = sheet.getCell(j,i);
result[i][j] = cell.getContents();
}
//遍历二维数组输出 到控制台
for(int i =0;i<row;i++){
for(int j=0;j<col;j++){
System.out.print(result[i][j]+"\t");
}
System.out.println();
}
book.close();
} catch (Exception e) {
//System.out.println(e);
e.printStackTrace();
}
}
}
输出结果:
结合上一篇文章可以看到 ,jxl和poi对比,jxl的代码明显要少很多,而且也省去了对每个单元格数值类型判断的过程 ,无疑jxl要比poi要简单易用很多,如果对读取xls文件要求不高,首选还是jxl包。
但有一点比较遗憾的是,jxl包貌似只能解析xls格式的文件,如果要解析xlsx格式 的excel文件,还是要用poi包的。