如何使用Apache POI停止Java中的迭代

时间:2014-09-25 09:59:18

标签: java excel apache-poi

我正在使用Apache POI在Java中阅读特定的Excel模板。底部有一些不需要的字段(如小指南),我需要跳过这些字段。所以我想在POI发现一行完全空白时停止迭代,因此底部的字段将被自动跳过。

我找到了许多处理空白CELL的方法,但我的要求是完整的一行。

1 个答案:

答案 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;
            }