已弃用的 CellType 方法

问题描述 投票:0回答:1

我在这里看到过其他论坛,其中提供了解决方案的建议,但我没有让其中任何一个起作用。

我想检查单元格是否为 null 或空白,我使用的已弃用代码是( getCellType() 和 CELL_TYPE_BLANK 均已弃用):

if( (c == null) || c.getCellType() == c.CELL_TYPE_BLANK){
//do something
}

例如,我一直在查看此线程中的解决方案:

替代已弃用的 getCellType

我认为解决方案可能如下所示:

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。

java excel apache
1个回答
0
投票

我一直在努力解决同样的问题,我发现以下方法对我有用。

这与你的方法相反。 我检查该值是否不为空。

下面的代码用于处理字符串值:

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());
© www.soinside.com 2019 - 2024. All rights reserved.