我一直在POI中编写代码以将数据输入到Excel工作表中。首先,我需要遍历一组行,我不确定其中有多少行,可能是10或100.但是我发现最后有一个空白单元格。之后,空白再次有一组行。我对第二组没有打扰。我需要找出第一组是否已经结束。使用单元格引用检查空白单元格
这很混乱。现在我的工作表中有5位用户,如下所示。第五位用户之后有一个空白单元格。我试图打印所有的用户,如果有一个空白的停止它。
AAA
BBB
CCC
DDD
EEE
JJJ
我正在使用下面的代码来完成这项工作。
String userName;
CellReference ref = null;
Row row;
Cell cell;
do {
userName = "B" + i;
ref = new CellReference(userName);
row = sheet.getRow(ref.getRow());
cell = row.getCell(ref.getCol());
System.out.println(cell.getStringCellValue() + "\t" + userName);
i++;
} while (row != null);
但是我得到的输出如下。
AAA B4
BBB B5
CCC B6
DDD B7
EEE B8
Exception in thread "main" java.lang.NullPointerException
at FinalSheetFillData.main(FinalSheetFillData.java:26)
请让我知道我在哪里错了,我该如何解决这个问题。
感谢
仍然给了我同样的错误,但thistime上面转移像 'AAA B4 BBB \t B5 异常线程 “main” CCC \t B6 DDD B7 EEE B8 显示java.lang.NullPointerException (FinalSheetFillData.java:26)' – Rakesh
也许'cell'变量为空?如果第26行是'if(cell.getStringCellValue()!= null){'然后尝试检查'cell'是否为null,而不是'cell.getStringCellValue()' - 请参阅http://stackoverflow.com/questions/ 31184499/apache-poi-getcell-error-java-lang-nullpointerexception-can-read-cell-if?rq = 1 –
即使在你读的行上,行也不会等于null,它不为null。它为N”。 –