Java,Excel期间的NullPointerException(Apache POI)

Java,Excel期间的NullPointerException(Apache POI),java,apache-poi,Java,Apache Poi,我是一个试图阅读Excel文件以改变其格式的爱好者 我想查看columnIndex(0)以查看是否有任何文本,从该单元格的第(+1-3)行到索引(2-4)处是否有需要复制的项目(别介意,这不是问题) 但是,columnIndex(0)中有很多空单元格,它们抛出一个NullPointerException,因为它们“不存在”。我一直在尝试使用(cell==null)和.getCellTypeEnum等进行多个单元格检查。似乎都不起作用 你们有什么办法来避免这种情况吗 我的代码如下: // load

我是一个试图阅读Excel文件以改变其格式的爱好者

我想查看
columnIndex(0)
以查看是否有任何文本,从该单元格的第(+1-3)行到索引(2-4)处是否有需要复制的项目(别介意,这不是问题)

但是,
columnIndex(0)
中有很多空单元格,它们抛出一个
NullPointerException
,因为它们“不存在”。我一直在尝试使用
(cell==null)
.getCellTypeEnum
等进行多个单元格检查。似乎都不起作用

你们有什么办法来避免这种情况吗

我的代码如下:

// loading stuff

int row = 0;
int rowTot = sheet.getLastRowNum();

while (row < rowTot) {

    for (Cell cell : sheet.getRow(row)) {
        if (cell.getColumnIndex() == 0) {

            if (cell == null) {
                System.out.println("empty");
            } else {
                String text = cell.getStringCellValue();
                System.out.println(text);
            }
        }
    }
    row++;

// closing
//正在加载内容
int行=0;
int rowTot=sheet.getLastRowNum();
while(行
将其放入try-catch块中。

检查NULL值应该足够了…try-catch确实会让它看起来很糟糕。是的,你说得对。@Sumerechny
cell.getColumnIndex()[…]如果(cell==NULL
你看到了吗?我没有在你的代码中看到
columnIndex(0)
。请阅读:“对于数值单元格,我们抛出一个异常。对于空白单元格,我们返回一个空字符串。对于不是字符串公式的formulaCells,我们抛出一个异常。”@Biffen同意您的观点,需要先检查它是否为null,然后在执行
cell.getColumnIndex()
之前执行其他操作