当前位置: 首页 > 知识库问答 >
问题:

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

何晗昱
2023-03-14

我是一个真正的新手程序员,试图用Apache Poi为一个朋友制作一个编辑电子表格的小java程序。目前,我使用以下代码浏览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)

但它不起作用,所以我想知道是否有任何方法可以浏览工作簿的所有工作表。

共有2个答案

蓝飞
2023-03-14

工作簿包含一个受保护的字段“_sheets”,其类型为java.util。这样列出:-

 rs1._sheets.size();

应该给你张数。您还应该能够遍历此列表。

宗冠宇
2023-03-14

工作簿未实现迭代

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

 类似资料:
  • 我使用这段代码将工作簿中的每一张工作表复制到一个新的工作簿中,它工作得很好,但它颠倒了工作表的顺序,是否有任何办法阻止它这样做? 我正在复制所有的工作表,这样我就可以将它保存为不同的文件扩展名,这是我发现唯一有效的方法。

  • 这里的术语“工作簿”表示Microsoft Excel文件。 完成本章后,您将能够使用Java程序创建新的工作簿并打开现有的工作簿。 创建空白工作簿 以下简单程序用于创建空白Microsoft Excel工作簿。 import java.io.*; import org.apache.poi.xssf.usermodel.*; public class CreateWorkBook { pu

  • 所以在问这个之前,我搜索并发现了一些与我在这里想要做的相似的事情。 基本上我有工作簿AlphaMaster。这个工作簿是一个模板,我想用它来创建每周的新工作簿。 在本工作簿中,有名为“周一至周六”的工作表,以及带有相应日期的周一、周二等其他工作表。 我创建了一个在打开工作簿时加载的表单。我想要的是当我单击表单运行时,它将: > 将代码保存模板作为新工作簿运行 根据userform1的输入重命名工作

  • 试图从当前工作簿“Create Report.xlsm”中复制工作表名称“Headings Explantions”,该工作簿打开到我要求打开的工作簿中,我得到了下标超出范围的错误

  • 我得到了这个错误: 工作簿已包含此名称的工作表 行应该检查工作簿是否已经包含此名称的工作表,但它不工作。我仍然有错误。 谢谢你的帮助!

  • 我试图计算工作簿中的张数。工作簿是使用NPOI创建的,似乎没有办法使用NPOI的C#版本来计算张数? 解释和展示这是一件非常棘手的事情...但是我会试一试。 我想做的是用一个现有的excel文件作为统计数据的模板。这个现有的excel文件可以有不同数量的模板,我需要能够计算这些模板,以知道在哪里放置我的新工作表和编辑它们的名称。 数据的发送者只需要选择哪个模板表应该填充哪些数据,然后在插入所有数据