首页 > 解决方案 > 在excel中的开始和结束位置之间读取

问题描述

目前我正在阅读具有以下条件的整个 excel 文件 -

 while (rowIterator.hasNext() )
{
do operations ()
}

现在我正在尝试从特定的行号块中读取,如果我提供以下代码

while (rowIterator.hasNext() &&  rowIterator.next().getRowNum() > start && rowIterator.next().getRowNum() < end)

它不起作用,有什么解决方法

谢谢

标签: java

解决方案


您误解了迭代器在 Java 中的工作方式。您可以认为每个迭代器内部都有一个指针。当您调用next()时,指针会移动到下一个位置。因此,您在 while 条件下进行了两次“next()”调用,这会使指针从当前位置移动两步。这是不正确的。

尝试这个:

while (rowIterator.hasNext()) {
    next = rowIterator.next();
    if (next > start && next < end) {
         // do your thing
    }
}

推荐阅读