问题非常明确。
我该如何使用POI检查CELL_TYPE_NUMERIC
是否为空?对于字符串,我可以使用isEmpty()
方法,但是对于int
类型,我不知道该怎么做(null
不被允许,而0
不足以说明问题)。
谢谢提前。
问题非常明确。
我该如何使用POI检查CELL_TYPE_NUMERIC
是否为空?对于字符串,我可以使用isEmpty()
方法,但是对于int
类型,我不知道该怎么做(null
不被允许,而0
不足以说明问题)。
谢谢提前。
在POI中,空单元格不应该有格式,因为已经有一种类型用于表示空单元格。
要检查单元格是否为空,应该测试单元格类型是否为Cell.CELL_TYPE_BLANK
。有时候,空单元格在Row
中不存在;这种情况下它们会是null
。
cell.getCellType() == CellType.BLANK
。 - undefined您可以检查单元格的原始值
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