SpringBoot,尝试生成包含数据透视表的 xlsx 文件,但每次它都会因该堆栈跟踪而崩溃。
使用 xmlbeans 5.0.3
XML-BEANS compiled schema: Could not locate compiled schema resource org/apache/poi/schemas/ooxml/system/ooxml/ctstring4cdatype.xsb (org.apache.poi.schemas.ooxml.system.ooxml.ctstring4cdatype)
该行代码是e.addNewS();
XSSFPivotCacheDefinition a = pivotTable.getPivotCacheDefinition();
CTPivotCacheDefinition b = a.getCTPivotCacheDefinition();
CTCacheFields c = b.getCacheFields();
CTCacheField d = c.getCacheFieldArray(index);
CTSharedItems e = d.getSharedItems();
CTString f = e.addNewS();
f.setV(value);
我使用字符从a到f进行划分,因为我不知道哪一行是。
我注意到它正在尝试连接到此网址http://schemas.openxmlformats.org/officeDocument/2006/relationships/officeDocument
我不知道该怎么办,我要疯了......
根据@kiwiwings的提示,我设法通过检查所有依赖项来使其工作。通过使用解决了这个问题:(于 28/01/2022)
<dependencies>
<dependency>
<groupId>org.apache.xmlbeans</groupId>
<artifactId>xmlbeans</artifactId>
<version>5.0.3</version>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi</artifactId>
<version>5.2.0</version>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml-full</artifactId>
<version>5.2.0</version>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml</artifactId>
<version>5.2.0</version>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>ooxml-schemas</artifactId>
<version>1.4</version>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml-schemas</artifactId>
<version>4.1.2</version>
</dependency>
</dependencies>
面临类似的问题。在这篇文章和一些尝试和错误的帮助下解决了这个问题。这种组合在 Gradle 中对我有用:
我在 Gradle (kotlin) 中的库定义如下:
library("apache-poi-core", "org.apache.poi", "poi").version("5.2.5") 库(“apache-poi-ooxml”,“org.apache.poi”,“poi-ooxml”).版本(“5.2.5”) 库(“apache-poi-ooxml-full”,“org.apache.poi”,“poi-ooxml-full”).版本(“5.2.5”) 库(“log4j-core”,“org.apache.logging.log4j”,“log4j-core”)。版本(“2.23.1”)
bundle("apache-poi", listOf("apache-poi-core", "apache-poi-ooxml", "apache-poi-ooxml-schemas", "log4j-core"))