首页 文章

阅读空白单元Apache POI 3.17

提问于
浏览
1

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

Cell c = row.getCell(1, Row.RETURN_BLANK_AS_NULL);
      if (c == null) {
         // do whatever
 }

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

2 回答

  • 1

    自POI-3.15-beta2起, Row 类中的常量已被弃用,标记为从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);
    
  • 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();
    

相关问题