如何去通过Apache POI工作簿的工作表?
我是一个真正的newb programer试图做一个小的Java程序,编辑电子表格的朋友使用Apache Poi。 目前我通过使用这个代码的Excel文件:
Sheet paxgs = rs1.getSheetAt(0); for (Row row : paxgs) { Cell secCell = row.getCell(1); Cell firstCell = row.getCell(0); if (firstCell!=null && firstCell.getCellType()==firstCell.CELL_TYPE_STRING) }
问题是,我不知道excel文件将具有的工作表的确切数量。 我试过了 :
Workbook rs1 = WorkbookFactory.create(new FileInputStream(filename)); for (Sheet sheet : rs1)
但它没有工作,所以我想知道是否有任何方式通过工作簿的所有工作表。
Workbook
不会像Workbook
Iterable<Sheet>
一样实现Iterable<Sheet>
实现Iterable<Row>
,所以您不能使用“增强”for循环。 但是你可以用一个传统的for循环来自己遍历Sheet
对象。 使用getNumberOfSheets()
查找页数, getSheetAt
检索单个Sheet
对象。
for (int i = 0; i < workbook.getNumberOfSheets(); i++) { Sheet sheet = workbook.getSheetAt(i); // Process your sheet here. }
该工作簿包含一个types为java.util.List的受保护字段“_sheets”,因此: –
rs1._sheets.size();
应该得到你的张数。 你也应该能够遍历这个列表。