我正在使用Apache POI 3.17读取一些Excel数据。我的第二列(索引为1,因为索引为0)为空,我希望能够读取它,但是无法获取代码以将单元格读取为空。我有这是行不通的:
--Week--Discount--
2 -- 60%
4 -- 50%
8 -- 40%
但是第二个参数不能被接受。我得到“ RETURN_BLANK_AS_NULL无法解析或不是字段”
答案 0 :(得分:1)
Row
类本身中的常量从POI-3.15-beta2开始被弃用,从POI-3.17开始被标记为已删除。 This diff显示了这些常量于2016年6月何时弃用。它们已在3.17中删除。
在3.17之前,已将枚举Row.MissingCellPolicy
定义为替代。如果您使用的是3.17,则必须使用该枚举。它被定义为Row
接口的成员。尝试
Cell c = row.getCell(1, Row.MissingCellPolicy.RETURN_BLANK_AS_NULL);
答案 1 :(得分:0)
尝试使用org.apache.poi.ss.usermodel.DataFormatter
。
DataFormatter formatter = new DataFormatter();
Workbook workbook = WorkbookFactory.create(new File("yourFileName.xls"));
Sheet sheet = workbook.getSheetAt(0);
for (Row row : sheet) {
for(Cell cell : row)
{
String text = formatter.formatCellValue(cell);
System.out.println(text);
}
}
workbook.close();