Word模板引擎-poi-tl

过去的,未来的
2021-05-01 / 0 评论 / 0 点赞 / 926 阅读 / 933 字 / 正在检测是否收录...
温馨提示:
本文最后更新于 2021-05-01,若内容或图片失效,请留言反馈。部分素材来自网络,若不小心影响到您的利益,请联系我们删除。

前言

FreeMarker、Velocity基于文本模板和数据生成新的HTML页面、配置文件等,poi-tl是Word模板引擎,基于Microsoft Word模板和数据生成新的文档。

Word模板拥有丰富的样式,poi-tl在生成的文档中会完美保留模板中的样式,还可以为标签设置样式,标签的样式会被应用到替换后的文本上,因此你可以专注于模板设计。

poi-tl是一种 "logic-less" 模板引擎,没有复杂的控制结构和变量赋值,只有标签,一些标签可以被替换为文本、图片、表格等,一些标签会隐藏某些文档内容,而另一些标签则会将一系列文档内容循环渲染。

快速开始

maven
<dependency>
  <groupId>com.deepoove</groupId>
  <artifactId>poi-tl</artifactId>
  <version>1.9.1</version>
</dependency>

从一个超级简单的例子开始:把{}替换成"poi-tl 模板引擎"。

新建文档模板template.docx,包含标签{}
TDO模式:Template + data-model = output
//核心API采用了极简设计,只需要一行代码

XWPFTemplate.compile("template.docx").render(new HashMap<String, Object>(){{
        put("title", "poi-tl 模板引擎");
}}).writeToFile("out_template.docx");

打开out_template.docx文档吧,一切如你所愿。

如果运行报错,请检查自己的poi的版本。
image.png

image.png

来源:https://github.com/Sayi/poi-tl
文档:http://deepoove.com/poi-tl/#_maven

0

评论区