通过POI包使用sheet.getLastRowNum()获取Excel行数的时候,由于获取行数时是从0开始,实际的行数需要获取到的行数+1,但是有时候获取到的行数与Excel实际的行数差的很远,例如:实际Excel中只有100行,但是通过sheet.getLastRowNum()获取到的数值却是1000,这是为什么呢?
原因在于Excel中只要操作过单元格就会认为样式发生改变。即使单元格为空,也会被读取行数据。
解决办法:
判断空行
boolean rowEmpty = true;
for (int columnIndex = 1; columnIndex < columnCount; columnIndex++) {
Cell cell = row.getCell(i);
if(cell != null && cell.getCellType() != CellType.BLANK) {
rowEmpty = false;
}
}
if(!rowEmpty){
//TODO
}



