gpt4 book ai didi

java - 当单元格值为空时,Poi 的 getCellType() 抛出 NullPointerException

转载 作者:行者123 更新时间:2023-12-01 07:57:17 25 4
gpt4 key购买 nike

我使用以下代码通过 POI 打印 Excel 电子表格中的所有值。当所有单元格都有值(value)时,它就可以正常工作。但是,如果存在空白单元格,则会抛出 NullPointerException。我观察到 getCellType() 方法抛出此异常。您能否帮忙打印所有值,即使有空白单元格?

public class ExcelRead4 {

public static void main(String[] args) {
try {
FileInputStream fis = new FileInputStream("D:/Batch2_Excel/ExcelRead.xlsx");
Workbook wb = WorkbookFactory.create(fis);
Sheet sht = wb.getSheet("Sheet1");
int rowcount = sht.getLastRowNum();
for (int i = 0; i <= rowcount; i++) {
int celCount = sht.getRow(i).getLastCellNum();
for (int j = 0; j < celCount; j++) {
Cell cel = sht.getRow(i).getCell(j);
int cel_Type = cel.getCellType();
switch(cel_Type) {
case 0: System.out.print(cel.getNumericCellValue()+ " ");
break;
case 1:System.out.print(cel.getStringCellValue()+" ");
break;
case 4: System.out.print(cel.getBooleanCellValue()+" ");
break;
case 3:
System.out.print(" "+" ");
break;
default:
System.out.print("inside the default..");
}
}
System.out.println(" ");
}
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (InvalidFormatException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}

最佳答案

在调用单元格上的任何方法之前,您只需检查单元格是否为空:

if (cel == null) {
continue;
}

将 continue 部分替换为您需要的内容,这样它就会忽略该单元格。

关于java - 当单元格值为空时,Poi 的 getCellType() 抛出 NullPointerException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28431715/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com