我试图使用问题中的确切代码读取Excel电子表格。一切都正常,但有时在此代码行上的某些单元格会出现NPE:
为什么会这样?我的工作表中有些单元格怎么会是空的?不可否认,我遇到NPE的单元格并没有包含数据。但并非所有空单元格都会导致NPE。
同样地(如果我在这行代码中加入NPE检查),最终会出现一些明显为空的行:
String value = cell.toString();
为什么会这样?我的工作表中有些单元格怎么会是空的?不可否认,我遇到NPE的单元格并没有包含数据。但并非所有空单元格都会导致NPE。
同样地(如果我在这行代码中加入NPE检查),最终会出现一些明显为空的行:
XSSFRow row = ws.getRow(i);
这些是电子表格中的空行,不包含任何数据。但并非所有的空行都会导致NPE(NullPointerException)。
显然,在这两种情况下进行空值检查可以解决我的直接问题。我只是想知道为什么有时候对象为空。必须有一些逻辑在其中。我只是看不到它。
谢谢。