一. 问题
利用POI处理Excel时,对于“空格”的判断往往是程序中必不可少的一步,怎么处理这些“空格”呢?
二. 解决
Excel中的“空格”读取后有可能是null
也有可能是空字符串""
,因此在判断是我们要同时判断这两种情况,如下当单元格不为空时处理:
if(targetCell != null || targetCell.getCellType() != Cell.CELL_TYPE_BLANK){
//当单元格不为空时处理逻辑
}
三. blank和null的处理方式
row.getCell(cellIndex)
可以添加参数来处理当getCell返回null和空字符串的处理方式:
当取到null,返回空字符串blank:
row.getCell(cellIndex, Row.MissingCellPolicy.CREATE_NULL_AS_BLANK)
当取到null返回null,取到blank返回blank:
row.getCell(cellIndex, Row.MissingCellPolicy.RETURN_NULL_AND_BLANK)
当取到空字符串blank,返回null:
row.getCell(cellIndex, Row.MissingCellPolicy.RETURN_BLANK_AS_NULL)