1

我使用 JXLS 创建我的工作簿。JXLS 在下面使用 POI。要创建工作簿 JXLS 需要文件或输入流。

使用文件对象,我得到了我想要的工作簿。但是,使用流我得到错误ZIP entry size is too large

JXLS 库使用

WorkbookFactory.create()

创建工作簿的方法。所以,我尝试了 ZipStream 和 PushbackStream;没有帮助。我能够从我的 Junit 运行相同的代码。

我读了下面的帖子。 为什么在尝试使用 Apache POI 打开 Excel 文件时出现异常“IOException:ZIP 条目大小太大”?.

帖子中的解决方案是 Maven 的更改。但是,这篇文章没有提到在 Maven 中所做的更改。

你有什么建议吗?

4

2 回答 2

8

我发现了这个问题。问题是 Maven 忽略了我保存在资源中的文件。所以我添加了如下的资源过滤来包含我的 excel 模板。

<resources>
        <resource>
            <directory>src/main/resources</directory>
            <filtering>true</filtering>
            <excludes>
                <exclude>**/*.xlsx</exclude>
            </excludes>
        </resource>
        <resource>
            <directory>src/main/resources</directory>
            <filtering>false</filtering>
            <includes>
                <include>**/*.xlsx</include>
            </includes>
        </resource>
</resources>
于 2014-09-16T21:26:03.850 回答
0

对于我的项目,我添加了这些,因此不会压缩 excel 和 word 文档

<pluginManagement>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <version>2.6</version>
            <artifactId>maven-resources-plugin</artifactId>
            <configuration>
                <encoding>UTF-8</encoding>
                <nonFilteredFileExtensions>
                    <nonFilteredFileExtension>xlsx</nonFilteredFileExtension>
                    <nonFilteredFileExtension>docx</nonFilteredFileExtension>
                </nonFilteredFileExtensions>
            </configuration>
        </plugin>
    </plugins>
</pluginManagement>
于 2021-06-24T06:09:32.990 回答