Apache POI 中文使用指南
Apache POI Word(docx) 入门示例教程
poi-tl 官方文档 v1.11
poi-tl-ext 项目
apache-poi 操作 word 的对象结构
apache-api 操作 word, 相当于直接写一份 word 文档
poi-tl 操作 word 的对象结构
poi-tl 操作 word, 只是在定义被渲染的数据 ( 自定义渲染插件时, 也相当于直接写 word 文档 )
详解
数据源 ( 被渲染的数据 ) : #_data_model数据
标签 ( 可渲染的数据类型 ) : #_标签
循环结构 ( 用于循环的标签 ) : #_区块对
图片模板或图表 ( 引用标签 ) : #_引用标签
修改标签前后缀 ( 配置 ) : #_配置
标签使用 SpringEL ( SpringEL 插件 ) : #_spring表达式
自定义标签 ( 自定义插件 ) : #_插件
高级表格渲染 ( 内置表格渲染插件 ) : #_表格行循环, #_表格列循环, #_动态表格
Markdown 渲染 ( markdown 插件 ) : #_Markdown
Html 渲染 ( 第三方插件 ) : GitHub - draco1023/poi-tl-ext: Extensions for poi-tl
LaTeX 渲染 ( 第三方插件 ) : GitHub - draco1023/poi-tl-ext: Extensions for poi-tl
依赖
<poi-tl.version>1.11.1</poi-tl.version>
<!-- poi-tl : 基于模板的 word 操作工具 -->
<!-- 自动引入 : poi-ooxml:5.2.0(poi:5.2.0) -->
<dependency>
<groupId>com.deepoove</groupId>
<artifactId>poi-tl</artifactId>
<version>${poi-tl.version}</version>
</dependency>
基础语法
// 定义渲染数据
Map<String, String> data = new HashMap<>();
data.put("content", "I'm not content.");
// 读取模板文件 ( 模板文件中应包含 {{content}} 占位符 )
XWPFTemplate template = XWPFTemplate.compile("template.docx");
// 执行渲染
template.render(data);
// 输出到文件
template.writeAndClose(new FileOutputStream("output.docx"));