如何在Apache POI中检查数字单元格是否为空?

3

问题非常明确。

我该如何使用POI检查CELL_TYPE_NUMERIC是否为空?对于字符串,我可以使用isEmpty()方法,但是对于int类型,我不知道该怎么做(null不被允许,而0不足以说明问题)。

谢谢提前。


这可能会对你有帮助:http://stackoverflow.com/a/12067629/1211000 - swamy
2个回答

5

在POI中,空单元格不应该有格式,因为已经有一种类型用于表示空单元格。

要检查单元格是否为空,应该测试单元格类型是否为Cell.CELL_TYPE_BLANK。有时候,空单元格在Row中不存在;这种情况下它们会是null


现在似乎是 cell.getCellType() == CellType.BLANK - undefined

-1

您可以检查单元格的原始值

public BigDecimal determinePorpertyValue(XSSFCell cell) {
    String rawValue = cell.getRawValue();
    return rawValue == null ? null : BigDecimal.valueOf(cell.getNumericCellValue());
}

这个不起作用:cell.getNumericCellValue() 在空单元格上返回0.0。你真的需要检查cell.getCellType() == CellType.BLANK,就像@ArtiBucco上面的回答中描述的那样。 - undefined

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接