poi-tl生成Word
阿新 • • 發佈:2018-11-09
-
新增依賴
- poi 版本必須大於3.14(我用的是3.17)
- ooxml 版本必須大於1.2(我用的是1.3)
<!-- 模版引擎用到的jar包 --> <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi</artifactId> <version>3.17</version> </dependency> <dependency> <groupId>com.deepoove</groupId> <artifactId>poi-tl</artifactId> <version>1.3.1</version> </dependency> <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi-ooxml</artifactId> <version>3.17</version> </dependency> <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi-scratchpad</artifactId> <version>3.17</version> </dependency> <dependency> <groupId>org.apache.poi</groupId> <artifactId>ooxml-schemas</artifactId> <version>1.3</version> </dependency>
注意: 你可能遇到以下幾個問題
- poi版本過低:使用 poi 3.14 以上
Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/poi/POIXMLTypeLoader at org.openxmlformats.schemas.wordprocessingml.x2006.main.DocumentDocument$Factory.parse(Unknown Source) at org.apache.poi.xwpf.usermodel.XWPFDocument.onDocumentRead(XWPFDocument.java:136) at org.apache.poi.POIXMLDocument.load(POIXMLDocument.java:166) at org.apache.poi.xwpf.usermodel.XWPFDocument.<init>(XWPFDocument.java:125) at com.deepoove.poi.NiceXWPFDocument.<init>(NiceXWPFDocument.java:85) at com.deepoove.poi.XWPFTemplate.compile(XWPFTemplate.java:129) at com.deepoove.poi.XWPFTemplate.compile(XWPFTemplate.java:110) at com.deepoove.poi.XWPFTemplate.compile(XWPFTemplate.java:78) at com.deepoove.poi.XWPFTemplate.compile(XWPFTemplate.java:74) at core.JingzhouDayReportDaemon.saveData2Word(JingzhouDayReportDaemon.java:187) at core.JingzhouDayReportDaemon.run(JingzhouDayReportDaemon.java:45) at core.JingzhouDayReportDaemon.main(JingzhouDayReportDaemon.java:289) Caused by: java.lang.ClassNotFoundException: org.apache.poi.POIXMLTypeLoader at java.net.URLClassLoader.findClass(URLClassLoader.java:381) at java.lang.ClassLoader.loadClass(ClassLoader.java:424) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331) at java.lang.ClassLoader.loadClass(ClassLoader.java:357) ... 12 more