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

Apache-POI在打开带有数据透视表的现有xlsx文件时引发“检测到压缩炸弹”异常

包子航
2023-03-14

我正在尝试打开现有的xlsx文件(MS-Excel2010),以便使用Apache-POI(v3.15)追加更多的数据。

现有的xlsx文件(大小为700KB)包含若干带有透视表、图表等的选项卡。

File file = new File(FILE_PATH);
OPCPackage opcPackage = OPCPackage.open(file);
XSSFWorkbook wbk = new XSSFWorkbook(opcPackage);

但抛出的异常如下所示,

共有1个答案

牛兴安
2023-03-14

所以我找到了问题的解决方案,但与许多微软相关的问题一样,我无法找到根本原因。

由于这个模板是由分析师提供的(通过删除数据位),我觉得excel文件可能是一个问题。

我所做的是,我开始了新的电子表格,在每个选项卡中从头开始一个一个创建相同的透视表(有点手工操作,但没花太长时间)。最终的模板是60KB,所以一定有一些隐藏的数据/“一些不可见的东西”,它之前就存在,导致这个失败。

 类似资料:
  • 我一直在开发一个android应用程序,在这个应用程序中,我必须打开.xls和.xlsx文件以便进一步实现。在.xls的情况下,一切工作正常,但当我尝试打开.xls x文件时,它给了我异常。下面是我的代码,请帮助我解决这些异常 我正在使用的JAR: null

  • 我的问题是为什么我会被抛出错误... java.lang.NoClassDefoundError:org/apache/poi/openxml4j/exceptions/invalidformatexception ...当我在/org/apache/poi/openxml4j/exceptions/的“文件poi-ooxml-3.9-20121203.jar”中看到InvalidFormatEx

  • 我有一个现有文件 (C:\wb.xls),我想打开并对其进行更改。如何在 Apachie POI 中打开现有文件?我找到的所有文档都必须与创建新文件一起使用。如果您知道,如何在 xls 文件的顶部插入新行或如何自动格式化列宽?

  • 我使用ApachePOI用Java读写Excels的文件,但在源代码中找不到WorkbookFactory或XSSFWorkbook来读取xlsx文件。 波姆。xml: 我在apachepoi的changelog中找不到任何可能导致这种行为的信息。 编辑:这里是我的实现(目前只是一个简单的方法) 我试图打开一个XLSX文件,但由于找不到其他两个类(WorkbookFactory或XSSFWorkb

  • 问题内容: 我正在尝试从三个表生成数据透视图: 学生 费用 stud_fee(关系表) 表格: 我想把费用作为专栏,学生作为行。我想使其显示为: 问题答案: 看起来您想转换成几列的费用可能未知,如果是这种情况,那么您将需要使用准备好的语句来查询以下内容: 参见带有演示的SQL Fiddle

  • 我有现有的xlsx电子表格。我正在使用ApachePOI3.17阅读它,添加一些条目,并将其另存为新文件中受密码保护的电子表格。运行程序后,新文件受密码保护,但我看不到新条目,只看到以前存在的条目。这里是程序的简化版本,它打开空的电子表格,写入新的单元格,并用密码保存在新文件中。当我使用密码在Excel 2010中打开文件时,仍然会看到空的电子表格。任何帮助都将不胜感激。谢谢