我正在从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());