问题概述
在代码中调用XSSFWorkboot对象的write方法写入文件时,日志出现如下警告:
org.apache.poi.util.XMLHelper : SAX Feature unsupported [log suppressed for 5 minutes] http://javax.xml.XMLConstants/property/accessExternalStylesheet
java.lang.IllegalArgumentException: Not supported: http://javax.xml.XMLConstants/property/accessExternalStylesheet
at org.apache.xalan.processor.TransformerFactoryImpl.setAttribute(TransformerFactoryImpl.java:571) ~[xalan-2.7.2.jar:na]
at org.apache.poi.util.XMLHelper.trySet(XMLHelper.java:283) [poi-5.2.2.jar:5.2.2]
at org.apache.poi.util.XMLHelper.getTransformerFactory(XMLHelper.java:224) [poi-5.2.2.jar:5.2.2]
问题解决
具体的错误原因我不清楚,可以参考这里的分析:不支持:http://javax.xml.XMLConstants/property/accessExternalStylesheet。
我这里将poi这个依赖升级到5.2.3后解决。
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi</artifactId>
<version>5.2.3</version>
</dependency>