Word模板引擎poi

您所在的位置:网站首页 图表区格式 Word模板引擎poi

Word模板引擎poi

2024-06-19 07:19| 来源: 网络整理| 查看: 265

文章目录 ◆ 方案对比◆ 版本◆ 特性◆ 模板◆ 数据◆ 输出◆ 数据模型◆ 标签1. 文本2. 图片3. 表格4. 列表5. 嵌套6. 区块对 ◆ SpingEL2. 单系列图标3. 多系列图标4. 组合图表 ◆ 配置1. 标签前后缀2. 标签类型3. 标签匹配值4. 标签值计算5. SpringEL6. 数据模型序列化7. 错误处理8. 模板生成模板9. 无模板创建文档10. 日志 ◆ 插件1. 表格行循环2. 表格列循环3. 动态表格4. 批注5. 插入附件6. 代码高亮7. Markdown ◆ 自定义插件- 定义插件- 使用插件 ◆ 自定义函数

poi-tl(poi template language)是Word模板引擎,使用Word模板和数据创建Word文档。

◆ 方案对比 方案移植性功能性易用性Poi-tlJava跨平台Word模板引擎基于Apache POI,更友好的APIApache POIJava跨平台Apache项目,不仅封装了易用的文档API(文本、图片、表格、页眉、页脚、图表等),也可以在底层直接操作XML结构文档不全,推荐教程:Apache POI Word快速入门FreemarkerXML跨平台仅支持文本,很大的局限性不推荐,需要维护XML结构,代码后期不可维护OpenOffice部署OpenOffice,移植性较差-需要了解OpenOffice的APIHTML浏览器导出依赖浏览器的实现,移植性较差HTML不能很好的兼容Word的格式-Jacob、winlibWindows平台-复杂,完全不推荐使用 ◆ 版本

截止2023-06-14,poi-tl版本迭代:

1.12.1:Apache POI5.2.2+,JDK1.8+1.11.x:Apache POI5.1.0+,JDK1.8+1.10.x:Apache POI4.1.2,JDK1.8+1.9.x:Apache POI4.1.2,JDK1.8+1.8.x:Apache POI4.1.2,JDK1.8+1.7.x:Apache POI4.0.0+,JDK1.8+1.6.x:Apache POI4.0.0+,JDK1.8+1.5.x:Apache POI3.16+,JDK1.6+

注意:1.12.x版本作了一个不兼容的改动,升级的时候需要注意:

重构了PictureRenderData,改为抽象类,建议使用Pictures工厂方法来创建图片数据

下文使用的版本为1.10.5

com.deepoove poi-tl 1.10.5 ◆ 特性

poi-tl是一个基于Apache POI的Word模板引擎。

引擎功能描述文本将标签渲染为文本图片将标签渲染为图片表格将标签渲染为表格列表将标签渲染为列表图表条形图(3D条形图)、柱形图(3D柱形图)、面积图(3D面积图)、折线图(3D折线图)、雷达图、饼图(3D饼图)、散点图等图表渲染If Condition判断隐藏或者显示某些文档内容(包括文本、段落、图片、表格、列表、图表等)Foreach Loop循环循环某些文档内容(包括文本、段落、图片、表格、列表、图表等)Loop表格行循环复制渲染表格的某一行Loop表格列循环复制渲染表格的某一列Loop有序列表支持有序列表的循环,同时支持多级列表代码高亮word中代码块高亮展示,支持26种语言和上百种着色样式Markdown将Markdown渲染为word文档Word批注完整的批注功能,创建批注、修改批注等Word附件Word中插入附件SDT内容控件内容控件内标签支持图片替换将原有图片替换成另一张图片书签、锚点、超链接支持设置书签,文档内锚点和超链接功能Expression Language完全支持SpringEL表达式,可以扩展更多的表达式:OGNL, MVEL…​标签定制支持自定义标签前后缀文本框文本框内标签支持样式模板即样式,同时代码也可以设置样式模板嵌套模板包含子模板,子模板再包含子模板合并Word合并Merge,也可以在指定位置进行合并用户自定义函数(插件)在文档任何位置执行函数 ◆ 模板

模板为Docx格式的Word文档:

可以使用Microsoft office、WPS Office、Pages等软件制作模板可以使用Apache POI代码来生成模板 ◆ 数据

数据类似于哈希或者字典:

可以是Map结构可以是对象 ◆ 输出

以流的方式进行输出,可以写到任意输出流中。

使用完毕记得关闭这些流。可以使用PoitlIOUtils工具类来关闭流:

PoitlIOUtils.closeQuietlyMulti(final Closeable... cls); ◆ 数据模型

所有的数据模型都实现了RenderData接口。

RenderData接口是用来表示POI-TL模板中的数据渲染方式的接口.

常见的几个实现类:

ImageRenderData

此类用于在POI-TL模板中添加图片的渲染方式。它包括以下属性:

属性名描述String uri图片的地址,可以是网络地址或本地文件路径int width图片的宽度,单位是像素int height图片的高度,单位是像素

TextRenderData

此类用于在POI-TL模板中添加文本的渲染方式。它包括以下属性:

属性名描述String text文本内容FontRenderData font文本字体样式渲染方式

其中,FontRenderData是另外一个实现RenderData接口的类,用于设置文本字体的样式。

TableRenderData

此类用于在POI-TL模板中添加表格的渲染方式。它包括以下属性:

属性名描述List


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3