读取空白单元格Apache POI 3.17

时间:2018-07-16 15:57:08

标签: java excel null apache-poi

我正在使用Apache POI 3.17读取一些Excel数据。我的第二列(索引为1,因为索引为0)为空,我希望能够读取它,但是无法获取代码以将单元格读取为空。我有这是行不通的:

--Week--Discount--
2 -- 60%
4 -- 50% 
8 -- 40% 

但是第二个参数不能被接受。我得到“ RETURN_BLANK_AS_NULL无法解析或不是字段”

2 个答案:

答案 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();