【问题标题】:How to only get number of sheets which is not hidden in Apache POI如何仅获取 Apache POI 中未隐藏的工作表数量
【发布时间】:2016-03-01 21:25:36
【问题描述】:

全部:

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

谢谢

【问题讨论】:

  • 遍历所有工作表,检查它们的隐藏状态?
  • @Gagravarr 谢谢,API 是什么?

标签: excel apache-poi


【解决方案1】:

只需遍历所有工作表,并使用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 术语中什么是隐藏的,什么是非常隐藏的。

【讨论】:

  • 谢谢,我找到了那个 API。
【解决方案2】:
 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
     }
 }

【讨论】:

  • 嗨,您能描述一下这段代码如何工作/解决 OP 的问题吗?仅代码的答案通常不能像我们希望的那样满足读者的利益。
猜你喜欢
  • 1970-01-01
  • 2022-12-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-12-13
相关资源
最近更新 更多