在做2BizBox ERP开发的时候,遇到导入数据的需求。我们通常采用JXL对Excel文件进行操作。今天与大家分享一下读的操作。Jxl对Excel读的操作,需要用到Workbook, Sheet, Cell这几个类。Workbook就是这个文件,sheet就是工作簿,Cell就是单元格。看段代码吧,这样更清楚。
//打开文件
Workbook book = Workbook.getWorkbook(newFile("C:\\test.xls"));
//获得第一个工作表对象
Sheet sheet = book.getSheet(0);
//如果知道工作表的名字,也可使用如下方法获得指定名称的工作表对象
Sheet sheet1 = book.getSheet("secondsheet");
//获得第一列第一行的单元格
Cell cell = sheet.getCell(0, 0);
String result =cell.getContents();
//获得工作表名称
System.out.println("第一个工作表名称:"+sheet.getName());
//获得列数
System.out.println("列数:"+sheet.getColumns());
//获得行数
System.out.println("行数"+sheet.getRows());
System.out.println("根据下标取得第一列第一行数据:"+result);
Cell.getContents()可以拿到单元格的数据,但有时候excel中有小数,或者是时间格式的怎么办呢!我们就要用到CellType这个类了,它可以判断数据的格式。来点代码:
Cell cel = sheet.getCell(1,0);
String data = cel.getContents();
if(cel.getType() == CellType.DATE){
DateCell dc = (DateCell)cel;
data = new SimpleDateFormat("YYYY-MM-DD").format(dc.getDate());
}elseif(cel.getType() == CellType.NUMBER || cel.getType() == CellType.NUMBER_FORMULA){
NumberCell nc = (NumberCell)cel;
data = ""+nc.getValue();
}
这样就可以把数据分析出来了。读出数据放到对象里,然后该做什么做什么了。