admin管理员组

文章数量:1650776

使用poi-tl版本1.11.1

项目依赖的poi-ooxml版本5.2.0

在写word文档调用writeAndClose()方法时会报警告

WARN  org.apache.poi.util.XMLHelper.logThrowable:307 - 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)
        at org.apache.poi.util.XMLHelper.trySet(XMLHelper.java:284)
        at org.apache.poi.util.XMLHelper.getTransformerFactory(XMLHelper.java:225)
        at org.apache.poi.util.XMLHelper.newTransformer(XMLHelper.java:231)
        at org.apache.poi.openxml4j.opc.StreamHelper.saveXmlInStream(StreamHelper.java:56)
        at org.apache.poi.openxml4j.opc.internal.ZipContentTypeManager.saveImpl(ZipContentTypeManager.java:68)
        at org.apache.poi.openxml4j.opc.internal.ContentTypeManager.save(ContentTypeManager.java:450)
        at org.apache.poi.openxml4j.opc.ZipPackage.saveImpl(ZipPackage.java:563)
        at org.apache.poi.openxml4j.opc.OPCPackage.save(OPCPackage.java:1490)
        at org.apache.poi.ooxml.POIXMLDocument.write(POIXMLDocument.java:227)
        at org.apache.poi.xddf.usermodel.chart.XDDFChart.saveWorkbook(XDDFChart.java:806)
        at org.apache.poi.xddf.usermodel.chart.XDDFChartmit(XDDFChart.java:918)
        at org.apache.poi.ooxml.POIXMLDocumentPart.onSave(POIXMLDocumentPart.java:467)
        at org.apache.poi.ooxml.POIXMLDocumentPart.onSave(POIXMLDocumentPart.java:472)
        at org.apache.poi.ooxml.POIXMLDocument.write(POIXMLDocument.java:221)
        at com.deepoove.poi.XWPFTemplate.write(XWPFTemplate.java:235)
        at com.deepoove.poi.XWPFTemplate.writeAndClose(XWPFTemplate.java:246)
        at cn.tip.service.WordReportService.createDocxFile(WordReportService.java:110)
        at cn.tip.service.WordReportService.generateReportDocx(WordReportService.java:90)
        at cn.tip.service.ReportManageService.lambda$generateAllDocxReport$0(ReportManageService.java:177)

但实际文档内容没有错误。经查阅issue发现个相似问题

IllegalArgumentException: Not supported: http://javax.xml.XMLConstants/property/accessExternalDTD · Issue #686 · Sayi/poi-tl · GitHub

报着试一试的态度 尝试了下作者给出的解决方案 加入依赖排除项

<dependency>
    <groupId>com.deepoove</groupId>
    <artifactId>poi-tl</artifactId>
    <version>1.11.1</version>
    <exclusions>
        <exclusion>
            <artifactId>xalan</artifactId>
            <groupId>xalan</groupId>
        </exclusion>
    </exclusions>
</dependency>

排除掉xalan后,这个异常不再出现。

本文标签: 文档WARNorgApacheTL