Bootstrap

POI处理blank和null

一. 问题

利用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)
;