如何解决如何从现有 Excel 模板创建新的 XSSFWorkbook
我一直在尝试基于现有的 excel 文件 (xlsx) 使用 FileInputStream 实例化 XSSFWorkbook。 由于某些业务需求,我应该使用 Excel 模板。
XSSFWorkbook templateWorkbook = new XSSFWorkbook(new FileInputStream("myTemplate.xlsx"));
我使用 XSSF 是因为我想在创建大型 Excel 文件(~50k 行)时提高性能。因此,我遵循了一些示例,例如 this,这些示例展示了如何使用 sxssf 来提高性能。然后,在将 Excel 模板放入新的 XSSFWorkbook
后,我执行以下操作:
sxssfWorkbook mysxssfWorkbookFromTemplate = new sxssfWorkbook(templateWorkbook,100);
但是,我总是遇到以下异常(在阅读 Excel 文件时,我的意思是我什至没有进入 sxssfWorkbook 实例化):
java.lang.NoClassDefFoundError: org/apache/xmlbeans/impl/store/DomImpl$Cdatanode
或者这个:
java.lang.NoClassDefFoundError: org/apache/xmlbeans/xml/stream/XMLStreamException
我能够在重新运行/重新调试单元测试时解决最后一个异常(这很奇怪,因为代码和 POM 依赖项保持完全相同)。
所以现在,我遇到了 NoClassDefFoundError DomImpl$Cdatanode
这就是我的 POM 文件的样子。
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi</artifactId>
<version>5.0.0</version>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml</artifactId>
<version>5.0.0</version>
</dependency>
<dependency>
<groupId>javax.xml.stream</groupId>
<artifactId>stax-api</artifactId>
<version>1.0-2</version>
</dependency>
<dependency>
<groupId>org.apache.xmlbeans</groupId>
<artifactId>xmlbeans</artifactId>
<version>4.0.0</version>
</dependency>
更新:
我可以看到带有 xmlbeans jar 文件的 Cdatanode.java 类。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。