我正在从Excel工作表中的某些特定单元格读取值。这些单元格通常包含String,但有时它们可​​能为空白(因此可能返回空白或null)。我正在使用以下代码来获取单元格数据:

Cell cellValue = row.getCell(10, Row.RETURN_NULL_AND_BLANK);
List.add(cellValue.getStringCellValue());

但是,当我运行此代码时,我得到了NullPointerException。谁能指出是什么错误,应该添加吗?

注意:我故意使用Row.RETURN_NULL_AND_BLANK而不是MissingCellPolicy.RETURN_NULL_AND_BLANK,因为使用后者会给我一个错误。

最佳答案

如果cellValue不为null,则需要对其进行测试,因为在尝试访问丢失的单元格的情况下,使用Row.RETURN_NULL_AND_BLANK将返回null

由于缺少指定行的第10列,因此您获得了NullPointerException

如果您需要以其他方式处理遗失案件与空白案件,可以使用以下方法:

Cell cellValue = row.getCell(10, Row.RETURN_NULL_AND_BLANK);
if (cellValue == null)
    List.add("CELL NOT FOUND");
else if("".equals(cellValue.getStringCellValue().trim()))
    List.add("MISSING CONTENT");
else
    List.add(cellValue.getStringCellValue());

09-27 06:31