poi-tl生成Word

这篇博客介绍了如何使用poi-tl库在Java中生成Word文档。作者提供了相关的依赖版本信息,包括需要poi版本大于3.14和ooxml版本大于1.2,并提醒读者可能遇到的版本过低问题,同时给出了详细的参考资料。
摘要由CSDN通过智能技术生成
  1. poi 版本必须大于3.14(我用的是3.17)
  2. 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:35
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
poi-tl是一个基于Apache POIJava库,用于生成Word文档。它提供了简单易用的API,可以通过编程方式创建和编辑Word文档,包括添加文本、表格、图片、样式等内容。 使用poi-tl生成Word文档的基本步骤如下: 1. 导入poi-tl库:在项目中引入poi-tl的依赖库。 2. 创建Word文档对象:使用`XWPFTemplate`类创建一个空的Word文档对象。 3. 填充数据:通过模板引擎的方式,将数据填充到Word文档中。可以使用Freemarker或Velocity等模板引擎。 4. 导出文档:将填充好数据的Word文档导出为文件或输出流。 以下是一个使用poi-tl生成Word文档的示例代码: ```java // 导入依赖库 import org.apache.poi.xwpf.usermodel.XWPFDocument; import org.apache.poi.xwpf.usermodel.XWPFParagraph; import org.apache.poi.xwpf.usermodel.XWPFRun; import org.apache.poi.xwpf.usermodel.XWPFTable; import org.apache.poi.xwpf.usermodel.XWPFTableRow; import org.apache.poi.xwpf.usermodel.XWPFTableCell; import org.apache.poi.xwpf.usermodel.ParagraphAlignment; // 创建一个空的Word文档对象 XWPFDocument document = new XWPFDocument(); // 添加段落 XWPFParagraph paragraph = document.createParagraph(); paragraph.setAlignment(ParagraphAlignment.CENTER); XWPFRun run = paragraph.createRun(); run.setText("Hello, World!"); // 添加表格 XWPFTable table = document.createTable(3, 3); for (int row = 0; row < 3; row++) { XWPFTableRow tableRow = table.getRow(row); for (int col = 0; col < 3; col++) { XWPFTableCell tableCell = tableRow.getCell(col); tableCell.setText("Cell " + (row + 1) + "-" + (col + 1)); } } // 导出文档 FileOutputStream out = new FileOutputStream("output.docx"); document.write(out); out.close(); document.close(); ``` 这是一个简单的示例,你可以根据具体需求使用poi-tl的更多功能来生成复杂的Word文档。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值