如何只获取Apache POI中未隐藏的工作表数量

时间:2016-03-01 21:25:37

标签: excel apache-poi

所有

我对Apache POI很新,当我解析一个Excel文件时,我需要知道需要显示的页数,但.getNumberOfSheets()只给我所有表,我想知道我怎么知道哪些表已被隐藏(当你右键单击工作表选项卡并选择"隐藏")以便我可以跳过计数?

由于

2 个答案:

答案 0 :(得分:4)

只需遍历所有工作表,然后使用isSheetHiddenisSheetVeryHidden方法进行检查,例如

int hidden = 0;
Workbook wb = WorkbookFactory.create(new File("input.xlsx"));
for (int sn=0; sn<wb.getNumberOfSheets(); sn++) {
   if (wb.isSheetHidden(sn) || wb.isSheetVeryHidden(sn)) {
      hidden++;
   }
}

请参阅isSheetHiddenisSheetVeryHidden javadocs,了解隐藏的内容以及Excel中隐藏的内容的详细信息。

答案 1 :(得分:0)

 Workbook wb=  WorkbookFactory.create(new File("input.xlsx"));
 for (int sn=0; sn<wb.getNumberOfSheets(); sn++) {
     if (wb.isSheetHidden(sn) || wb.isSheetVeryHidden(sn)) {
          // hidden sheet
     }else{
          // without hidden sheet
     }
 }