Java NullPointerException: Cannot invoke "getNumericCellValue()" - 解决方法
出现 "Exception in thread 'main' java.lang.NullPointerException: Cannot invoke 'org.apache.poi.ss.usermodel.Cell.getNumericCellValue()' because 'dataCell' is null" 错误的原因是代码中尝试调用一个为 null 的单元格对象的 'getNumericCellValue()' 方法。
解决方法:
- 检查代码中相关单元格对象的初始化和赋值情况。 确保单元格对象在调用 'getNumericCellValue()' 方法之前已经被正确地初始化并赋值。
- 检查 Excel 文件中是否存在该单元格。 如果是读取 Excel 文件时出现该错误,需要确认文件中是否确实存在相关单元格。
- 检查单元格中是否确实包含数字类型的数据。 如果单元格中包含其他类型的数据,例如文本或空值,也会导致该错误。
示例:
假设代码中尝试读取名为 'dataCell' 的单元格的值,则需要确保该单元格对象不为 null 并且包含数字类型的值。
Cell dataCell = row.getCell(columnIndex); // 获取单元格对象
if (dataCell != null && dataCell.getCellType() == CellType.NUMERIC) { // 检查单元格是否不为 null 并且包含数字类型的数据
double value = dataCell.getNumericCellValue(); // 获取单元格的数字值
}
通过以上步骤可以有效地解决 'java.lang.NullPointerException: Cannot invoke "org.apache.poi.ss.usermodel.Cell.getNumericCellValue()" because "dataCell" is null' 错误。
原文地址: https://www.cveoy.top/t/topic/oLVN 著作权归作者所有。请勿转载和采集!