分析问题
导出word的需求
(1)需要分节符
(2)无数据时不显示文本框
(3)便于操作
技术选型
(1)XDocReport:分节符不好实现
(2)POI-TL:官网案例清晰,有个swagger的案例满足我的导出需求
采用POI-TL来导出
POI-TL的使用
官网:Poi-tl Documentation (deepoove.com)
版本选择:我的项目中poi是4.1.2,选择poi-tl版本为1.10.x,见官网第10部分。点击1.10.x Documentation跳转至教程文档。
poi-tl的使用流程:
(1)制作模板:模板放到rescource下面,通过类加载器获取
InputStream ins=this.getClass().getResourceAsStream("/template.docx");
模板中的格式,样式都在word中设置好就可以了,非常方便。
(2)代码攥写
就参考官方文档,嘎嘎好用。
分页符参照的这篇博客
在poi-tl的区块对中实现用布尔值插入Word分页符的一种方法_deepoove.poi.policy.abstractrenderpolicy;-优快云博客
如果不太懂结合官网第9.4部分
总之,分页符这种不是明面上就有的,就用插件实现,具体我没看,大概意思就是where和thing都是固定代码,就是thing=true时,where.add就能加功能。
总结
poi-tl很好用啊,不出意外,只要有word导出我都会使用这个第三方jar包。
ps
有问题欢迎私信和留言,互相帮助。