如何在不使用工作簿的情况下从excel文件中获取工作表名称?

时间:2019-04-30 09:32:32

标签: java excel file javafx hssfworkbook

我需要excel文件中所有工作表的名称。我已经检查了该问题的所有答案,但它们正在使用工作簿。

我正在使用JavaFX应用程序,其中已通过“树”视图创建了文件资源管理器。当我单击excel文件或扩展excel文件时,这花费了太多时间,因为每个工作表都包含数千行和数百列。 我只想在开始时仅显示用户工作表名称,当用户双击工作表时,我将从工作簿中获取实际工作表,而不是在扩展excel文件时显示,因为一个excel文件可以包含很多工作表。

简而言之,我需要消除此代码以获得工作表名称:-

public List<String> getWorkBookSheetsName(File file) {
    Workbook workbook = null;
    List<String> names = new ArrayList<>();
    try {
        FileInputStream fis = new FileInputStream(file);
        if (file.getAbsolutePath().endsWith(".xls")) {
            workbook = new HSSFWorkbook(fis);
        } else {
            workbook = new XSSFWorkbook(fis);
        }
    } catch (Exception ex) {
        ex.printStackTrace();
    }
    for (int i = 0; i < workbook.getNumberOfSheets(); i++) {
         String sheetName = workbookSelectedFile.getSheetName(i);
         names.add(sheetName);
    }

  return names;
} 

0 个答案:

没有答案