我在这里看到过其他论坛,其中提供了解决方案的建议,但我没有让其中任何一个起作用。
我想检查单元格是否为 null 或空白,我使用的已弃用代码是( getCellType() 和 CELL_TYPE_BLANK 均已弃用):
if( (c == null) || c.getCellType() == c.CELL_TYPE_BLANK){
//do something
}
例如,我一直在查看此线程中的解决方案:
我认为解决方案可能如下所示:
if( (c == null) || c.getCellTypeEnum() == CellType.BLANK){
//Error: incomparable types: org.apache.poi.ss.usermodel.CellType and int
//do something
}
或
if( (c == null) || c.getBooleanCellValue()){
//do something
}
但是它不起作用,并且 apaches 文档也没有那么有帮助。有人有不产生警告的解决方案吗?我正在使用 poi 3.17。
我一直在努力解决同样的问题,我发现以下方法对我有用。
这与你的方法相反。 我检查该值是否不为空。
下面的代码用于处理字符串值:
private static String checkForNullString(Cell cellToCheck) {
String strCheck;
if (cellToCheck != null && cellToCheck.getCellTypeEnum() != CellType.BLANK) {
cellToCheck.setCellType(CellType.STRING);
strCheck = cellToCheck.getStringCellValue();
}
else
strCheck = "";
return strCheck;
}
要处理数值,只需更改以下内容:
cellToCheck.getStringCellValue();
到
cellToCheck.getNumericCellValue());