更或者本来excel数据为空,可是读取的sheet.getLastRowNum()却是有数字,而且还比较大....
1、CellType如下类型:
CellType |
Value |
CELL_TYPE_NUMERIC |
0 |
CELL_TYPE_STRING |
1 |
CELL_TYPE_FORMULA |
2 |
CELL_TYPE_BLANK |
3 |
CELL_TYPE_BOOLEAN |
4 |
CELL_TYPE_ERROR |
5 |
2、在读取Cell内容时,遇到当CellType == CELL_BLANK_TYPE时
a、按照cell.getNumericCellValue()读取,会读取到0.0。
b、按照cell.getStringCellValue()读取,会读取到empty的String。
public static boolean isRowEmpty(Row row){
System.out.println("读取excle有数据的列数为"+row.getLastCellNum());
for (int i = row.getFirstCellNum(); i < row.getLastCellNum(); i++) {
Cell cell = row.getCell(i);
if (cell != null && cell.getCellType() != Cell.CELL_TYPE_BLANK){
System.out.println("循环第几次:"+(i+1));
return false;
}else {
System.out.println("实际的excle有数据的列数为"+(i+1));
break;
}
}
return true;
}