我正在使用Apache POI在Java中阅读特定的Excel模板。底部有一些不需要的字段(如小指南),我需要跳过这些字段。所以我想在POI发现一行完全空白时停止迭代,因此底部的字段将被自动跳过。
我找到了许多处理空白CELL的方法,但我的要求是完整的一行。
答案 0 :(得分:0)
以下代码将遍历行的单元格。它将为它遇到的每个单元格保留一个计数(cellCount)。另一个couont(nullCount)仅在单元格为空时递增。如果这两个计数相等,则行为空。
boolean isEmptyRow = false;
int cellCount = 0;
int nullCount = 0;
Iterator<Cell> cellIterator = row.iterator();
while (cellIterator.hasNext()) {
cellCount++;
Cell cell = (Cell) cellIterator.next();
if ((cell == null)
|| ((cell != null) && (cell.getCellType() == Cell.CELL_TYPE_BLANK))) {
nullCount++;
}
}
if ((cellCount != 0) && (nullCount != 0)
&& (cellCount == nullCount)) { //If nullCount & cellCouont are same, Row is empty
isEmptyRow = true;
}