poi-tl是一个基于Apache POI的Word模板引擎,同时它也是一个免费开源(github地址)的Java类库,给Java程序员带来了word处理上的便捷。
2、官方介绍
在文档的任何地方做任何事情(Do Anything Anywhere)是poi-tl的星辰大海。
2.1 poi-tl与其他word模板引擎的对比
| 方案 | 移植性 | 功能性 | 易用性 |
| — | — | — | — |
| Poi-tl | Java跨平台 | Word模板引擎 | 基于Apache POI,更友好的API |
| Apache POI | Java跨平台 | Apache项目,不仅封装了易用的文档API(文本、图片、表格、页眉、页脚、图表等),也可以在底层直接操作XML结构 | 文档不全,这里有一个教程:Apache POI Word快速入门 |
| Freemarker | XML跨平台 | 仅支持文本,很大的局限性 | 不推荐,需要维护XML结构,代码后期不可维护 |
| OpenOffice | 部署OpenOffice,移植性较差 | - | 需要了解OpenOffice的API |
| HTML浏览器导出 | 依赖浏览器的实现,移植性较差 | HTML不能很好的兼容Word的格式 | - |
| Jacob、winlib | Windows平台 | - | 复杂,完全不推荐使用 |
2.2 poi-tl的编码模式
TDO模式: Template + data-model = output
2.2.1 Template—模板
模板即Docx格式的Word文档
2.2.2 Data-model—数据
数据即模板中需要替换的数据结构,类似哈希或者字典,常用Map结构,其中key即需要替换的标签
2.2.3 Output—输出
输出即最终文档的流产生,可以是文件流或网络流等