Java,Excel期间的NullPointerException(Apache POI)
我是一个试图阅读Excel文件以改变其格式的爱好者 我想查看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
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确实会让它看起来很糟糕。是的,你说得对。@Sumerechnycell.getColumnIndex()[…]如果(cell==NULL
你看到了吗?我没有在你的代码中看到columnIndex(0)
。请阅读:“对于数值单元格,我们抛出一个异常。对于空白单元格,我们返回一个空字符串。对于不是字符串公式的formulaCells,我们抛出一个异常。”@Biffen同意您的观点,需要先检查它是否为null,然后在执行cell.getColumnIndex()
之前执行其他操作