尽管在Apache POI Java中具有非NULL行,但获取excel Cell时仍会出现NullPointerException

时间:2015-05-29 06:14:51

标签: java excel nullpointerexception apache-poi

我正在使用Apache POI来读写Excel文件。以下是生成NullpointerException的代码片段:

   int rowcount = 0;
   while (rowcount < Header.MAX_ROW_COUNT) {
       try {
            gpnameRow = gpNameSheet.getRow(rowcount);
            } catch (Exception e) {              
            rowcount++;
            continue;
          }

        int index = 0;
        Cell indexCell = gpnameRow.getCell(0);
        index = (int) indexCell.getNumericCellValue();
        System.out.println(index);
        rowcount++; 
       } 

Cell indexCell = gpnameRow.getCell(0);这一行产生NullPointerException。

出现此错误的可能原因是什么?

2 个答案:

答案 0 :(得分:0)

请发布堆栈跟踪,您确定gpnameRow.getCell(0)正在抛出异常,我认为它应该是下一行,即indexCell.getNumericCellValue() 在调用任何方法之前,您需要检查单元格是否为空。

if( indexCell != null ){
        index = (int) indexCell.getNumericCellValue();
        System.out.println(index);
        rowcount++; 
}

在浏览工作表时,可能会有一些空白的单元格,这些可能会导致空指针异常。

答案 1 :(得分:0)

请验证您的excel一次.. 这里100%确定你没有得到你的行。 {{1}}这里你得到了例外。如果其他原因让我们知道。我们可以解决。