关于poi-tl生成复杂word表格

本文介绍了在技术选型中,作者选择了POI-TL库来满足导出Word文档的需求,特别关注了如何实现分节符和自定义分页符。POI-TL的模板制作简单,代码参考官方文档,适合处理Word导出任务。
摘要由CSDN通过智能技术生成

分析问题

导出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;-CSDN博客


如果不太懂结合官网第9.4部分
 

总之,分页符这种不是明面上就有的,就用插件实现,具体我没看,大概意思就是where和thing都是固定代码,就是thing=true时,where.add就能加功能。

总结

poi-tl很好用啊,不出意外,只要有word导出我都会使用这个第三方jar包。

ps

有问题欢迎私信和留言,互相帮助。

  • 7
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
poi-tl是一个用于生成Word文档的Java模板引擎,它可以方便地创建和操作Word表格。在使用poi-tl生成Word表格时,你需要添加以下依赖到你的项目中: ```xml <dependency> <groupId>com.deepoove</groupId> <artifactId>poi-tl</artifactId> <version>1.10.0</version> </dependency> ``` 通过使用poi-tl提供的API,你可以轻松地创建和设置表格的样式。例如,如果你想要整行加粗,可以使用`textBold()`方法来设置行数据的样式。以下是一个示例代码: ```java RowRenderData titleRow = Rows.of(firstLine.getTitle(), null, null, null, null, null).textBold().create(); ``` 如果你想要指定特定单元格的样式,比如让表格中每一行的第二列内容加粗并且为红色字体,你可以使用以下方法: ```java CellStyle boldAndRedTextStyle = new CellStyle(); boldAndRedTextStyle.setDefaultParagraphStyle(ParagraphStyle.builder().withDefaultTextStyle(Style.builder().buildColor("FF00000").buildBold().build()).build()); for (RowRenderData rowRenderData : tableRenderData.getRows()) { rowRenderData.getCells().get(1).setCellStyle(boldAndRedTextStyle); } ``` 这样,你就可以使用poi-tl生成带有特定样式的Word表格了。 #### 引用[.reference_title] - *1* [java通过poi-tl模板引擎生成表格Word)](https://blog.csdn.net/qq_45731464/article/details/119247125)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down1,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* *3* [[编程] POI-TL 根据模版生成Word文档的一些使用技巧汇总](https://blog.csdn.net/lmcboy/article/details/128216186)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值