何时使用rowiterator和Iterator迭代Excel工作表的行

战车

下面包含用于读取excel电子表格(.xlsx)内容的代码。为了遍历每一行,我使用iterator()工作表对象的方法,这很好用。另外,如果我使用rowIterator()方法,它也很好用。

这两个功能之间的区别是什么,什么时候使用。

{

FileInputStream fis = new FileInputStream(new File("E:\\readexcel.xlsx"));
XSSFWorkbook wb = new XSSFWorkbook(fis);
XSSFSheet sh = wb.getSheetAt(0);
Iterator<Row> rowIterator = sh.iterator(); // sh.rowIterator(); -- also works well
while(rowIterator.hasNext()){               
    Row row = rowIterator.next();               
    Iterator<Cell> cellIterator = row.iterator(); //row.cellIterator();-- also works well               
    while(cellIterator.hasNext()){                  
        Cell cell = cellIterator.next();
        System.out.print(cell.getStringCellValue()+"\t");
    }
                System.out.println("");
}

}
基里尔S.

XSSFSheet的文档说:

rowIterator-返回物理行的迭代器

迭代器-rowIterator()的别名,以允许foreach循环

因此,基本上它们返回相同的值,但是添加了第二个以支持Java的for-each循环换句话说,while您可以直接运行for-each循环,而不是获得迭代器和运行循环,从而使代码更短且更具可读性:

FileInputStream fis = new FileInputStream(new File("E:\\readexcel.xlsx"));
XSSFWorkbook wb = new XSSFWorkbook(fis);
XSSFSheet sh = wb.getSheetAt(0);
for(Row row : sh) {             
    for(Cell cell : row) {
        System.out.print(cell.getStringCellValue()+"\t");
    }
}
...  

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

从“行”开始迭代Excel工作表名称

无法在VBA Excel中迭代工作表和列

使用多個 Excel 工作表加速 Pandas 迭代

Python-迭代和更改Excel工作簿中的所有“工作表名称”

如何使用循环生成类似于Excel工作表的行和列键

Excel VBA筛选器复制和粘贴在单独工作表上“最后使用的行”下

使用 Django 工作簿和工作表创建 Excel 文件

Excel VBA 宏 - 循环工作表和清除行

Excel-SUMIF用于多个工作表,列和行

如何使用OpenXML C#将特定于Excel的行和工作表读取到数据表中

如何仅迭代 Excel VBA 中自动筛选工作表中的行?

GSheet 脚本:如何优化我的行和工作表迭代器

使用DGV打开,更改和保存Excel工作表

使用Parallel.For和EPPlus创建Excel工作表

如何使用DataTable和ExcelLibrary创建Excel工作表?

使用 OleDbAdaptor 和查询参数打开 Excel 工作表

使用python和matplotlib绘制Excel工作表?

使用Python从Excel工作表的ListObject打开和获取数据

Nodejs Excel工作表使用Sendgrid编辑和发送

在Excel中使用VLOOKUP和多个工作表

如何使用openpyxl遍历Excel工作表的行?

使用Pandas将Dataframe行写入Excel工作表

使用熊猫计算Excel工作表中特定行的总和

使用一行 Excel VBA 删除工作表

Excel使用代码名删除除活动工作表和指定工作表以外的所有工作表

何时使用cte和temp表?

使用vba删除其他excel工作簿中excel工作表上的空白行

使用xlrd和xlwt编辑现有的Excel工作簿和工作表

何时使用Iterable,何时使用Iterator?