如何使用Apache POI浏览工作簿?

Kot*_*sor 4 java excel apache-poi

我是一个真正的新手程序员试图制作一个小型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)
}
Run Code Online (Sandbox Code Playgroud)

问题是我不知道excel文件将具有的确切页数.我试过了 :

Workbook rs1 = WorkbookFactory.create(new FileInputStream(filename));    
for (Sheet sheet : rs1)
Run Code Online (Sandbox Code Playgroud)

但它没有用,所以我想知道是否有任何方法可以浏览所有工作簿.

rge*_*man 13

A Workbook不像工具Iterable<Sheet>那样Sheet实现Iterable<Row>,因此不能使用"增强"for循环.但是你可以Sheet使用传统的for循环自己遍历对象.使用getNumberOfSheets()找张数,并getSheetAt取回个人Sheet物品.

for (int i = 0; i < workbook.getNumberOfSheets(); i++)
{
    Sheet sheet = workbook.getSheetAt(i);
    // Process your sheet here.
}
Run Code Online (Sandbox Code Playgroud)

  • 你的答案是正确的,但请检查:https://poi.apache.org/apidocs/org/apache/poi/ss/usermodel/Workbook.html#sheetIterator() (2认同)