【问题标题】:Count number of worksheets in Excel File计算 Excel 文件中的工作表数
【发布时间】:2011-08-01 09:23:01
【问题描述】:

如何使用 Java SE 计算 Microsoft Excel 文件中的工作表数量?

【问题讨论】:

    标签: java excel excel-2003


    【解决方案1】:

    Java SE 中没有与 MS Excel 接口的标准类/库文件。在Apache POI 中,您可以使用HSSFWorkbook.getNumberOfSheets() 方法返回工作簿中的工作表编号。


    要打开 Excel 文件并获取 HSSFWorkbook,请执行以下操作:

    String fileName = "C://Excel.xls";
    POIFSFileSystem fileSystem = new POIFSFileSystem(new FileInputStream(fileName));
    HSSFWorkbook workbook = new HSSFWorkbook(fileSystem);
    

    【讨论】:

    • 如何将 Excel 文件作为 HSSFWorkbook 对象打开?
    • 1) 您是否在项目中下载并设置了 Apache POI jar?
    • 是的。 jar 已下载,路径已设置。
    • 那么现在,如何将 Excel 文件作为 HSSFWorkbook 对象打开?
    • @Sumon,我以为你会咨询你友好的谷歌,但由于懒惰仍然存在,我更新了我的帖子来告诉你如何。
    【解决方案2】:

    WritableWorkbook 类中使用getNumberOfSheets()

    看看这些:

    jxl.Workbook;
    jxl.write.Label;
    jxl.write.WritableSheet;
    jxl.write.WritableWorkbook;
    

    http://jexcelapi.sourceforge.net/resources/javadocs/2_6_10/docs/jxl/write/WritableWorkbook.html

    【讨论】:

    【解决方案3】:

    使用以下代码获取工作表数量

    FileInputStream file = new FileInputStream(new File(FILE PATH));            
    
    XSSFWorkbook workbook = new XSSFWorkbook(file);         
    
    System.out.println("number of sheet::"+ workbook.getNumberOfSheets());
    

    【讨论】:

      【解决方案4】:

      您可以使用xlsx4j 进行计数。这是我的代码:

      public static void main(String[] args) throws InvalidFormatException, Docx4JException {
          SpreadsheetMLPackage spPackage = SpreadsheetMLPackage.load(new File("D:/MyFile.xlsx"));
          List<Sheet> sheetList = spPackage.getWorkbookPart().getJaxbElement().getSheets().getSheet();
          System.out.println("Number of worksheet: "+ sheetList.size());
          System.out.println("Sheet name: ");
          for (Sheet sheet : sheetList) {
              System.out.println(sheet.getName());
          }
      

      【讨论】:

        【解决方案5】:
        public int getNumberOfSheets(File)throws Exception{
         FileInputStream fileInputStream = new FileInputStream(file);
         HSSFWorkbook workbook = new HSSFWorkbook(fileInputStream);
         int number_of_sheets =     workbook.getNumberOfSheets();
         return number_of_sheets
        }
        

        以上是获取xls工作簿中工作表数量的简单方法

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2018-11-29
          • 2014-05-30
          • 1970-01-01
          • 2014-06-24
          • 1970-01-01
          • 1970-01-01
          • 2021-10-31
          • 2011-10-15
          相关资源
          最近更新 更多