Excel中的空单元格返回Null(Java、POI)

Excel中的空单元格返回Null(Java、POI),java,excel,apache-poi,Java,Excel,Apache Poi,我希望显示Excel中的值。我的问题是我不确定为什么我也会得到“null” 您将获得单元格对象。执行空检查并访问单元格的值-如下所示: Cell cell = rowAmt.getCell(0); if (cell != null) { System.out.println(cell.getStringCellValue()); /* * for numbers: cell.getNumericCellValue(); * for booleans: cell

我希望显示Excel中的值。我的问题是我不确定为什么我也会得到“null”

您将获得单元格对象。执行空检查并访问单元格的值-如下所示:

Cell cell = rowAmt.getCell(0);
if (cell != null) {
    System.out.println(cell.getStringCellValue());
    /*
     * for numbers: cell.getNumericCellValue();
     * for booleans: cell.getBooleanCellValue();
     */
}

正如文档所述:“获取表示给定列(逻辑单元格)的单元格,该单元格基于0。如果您请求未定义的单元格,则会得到null。”。另见:@Axel,非常感谢您的回复。如果是这样的话,我越来越好奇它是如何知道什么时候停止阅读这篇文章的。换句话说,为什么它停在第6个“空”位置,而不打印出一个完整的“空”列表?非常感谢您的时间和努力。您的
for(Row:Sheet)
只读取当前行。现代
Excel
工作表可以包含2^20行,每行有2^14个单元格。为了不需要在文件中存储所有这些单元格,如果尝试获取,则不会存储完全为空的行,也不会存储
null
。此外,完全为空的单元格(没有内容、没有样式、没有内容)也不存储,因此
null
也不存储。因此,您的工作表似乎包含11行,其中至少有一个单元格不是完全空的。前5行在第一个单元格中有内容。第6行到第11行必须在至少一个其他单元格中包含内容、样式或其他内容。谢谢!它成功了!你介意简要解释一下那个细胞对象吗?我只是想了解更多。再次感谢!是指向单元接口文档的链接。如果您还没有,您应该查看@Axel Richter发布的链接,以获取POI团队提供的示例。