0
讀取Excel電子表格(.xlsx)內容的代碼包含在下面。爲了迭代每一行,我使用了表單對象的方法iterator()
,這很好。另外,如果我使用rowIterator()
方法,它也可以很好地工作。何時使用rowiterator和迭代器遍歷Excel表格的行
這兩個函數和何時使用哪些區別有什麼區別。
{
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("");
}
}
感謝:換句話說,不是得到的迭代器,並運行
while
循環,你可以直接for-each循環,這使得代碼更短,更易讀跑!基本上我的問題是什麼時候使用父類方法和子類方法時,都產生相同的結果。你能否在此添加更多細節。謝謝 – karusai哪位家長和哪個孩子?它們都是同一類的方法(XSSFSheet)。 –
感謝Kiril對此主題的洞察力。 sh.iterator();是父類方法和sh.rowIterator();是子類方法。它不是?如果我錯了,請糾正。謝謝 – karusai