当前位置: 首页 > news >正文

poi-tl循环放图片+文字说明

这几天有个任务,服务端导出word要求从数据库取到多张图片,然后输出到word中,并且说明一共几张,当前是第几张。
网上翻了很久也没有找到示例,不过最终难题还是得到了攻克。
因为之前的代码是有一个导出的map,暂且叫resultMapresultMap中又有一个对象,这里暂且叫exportObj,我们要加的图片和文字说明都要加在这个exportObj里面。
怎么获取图片就不说了,各个系统肯定是不一样的,假设已经获取到了图片的url,然后后续代码如下:

// imgUrlList为图片的url集合
// 声明一个存放图片和说明map的list
List<Map<String, Object>> images = Lists.newArrayList();
// 遍历图片url
for (int i = 0; i < imgUrlList.size(); i++) {// 声明一个存放一对图片+说明的mapMap<String, Object> imageMap = Maps.newHashMap();// 图片放入map,图片类型自行修改imageMap.put("imageUrl", Pictures.ofUrl(imgUrlList.get(i), PictureType.PNG).center().fitSize().create());// 说明放入mapimageMap.put("text", "共" + imgUrlList.size() + "张图片,当前为第" + (i + 1) + "张");// map放入listimages.add(imageMap);
}
// list放入导出对象
exportObj.setImages(images);
// 导出对象放入最终的结果map
resultMap.put("exportObj", exportObj);
resultMap.put("otherData", ……);

代码这块就完成了,然后模板的配置如下:

{{?exportObj.images}}
{{@imageUrl}}
{{text}} 
{{/exportObj.images}}

这样就搞定了。


附上poi-tl的pom依赖:

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

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • dm 到 dm 的 HS 同步部署
  • 入门request请求库使用
  • 5.1、生成树协议stp
  • 【ubuntu24.04】docker pull 配置
  • leetcode_62. 不同路径 + 63. 不同路径 II
  • Python青少年简明教程:数据类型和操作符
  • 微信小程序免费《短视频去水印》
  • day02-作业题
  • 小学二年级数学精选试题
  • 学习笔记——交通安全分析30
  • 企业高性能web服务器---nginx详解(基础介绍配置,核心配置)
  • MySQL系列—MySQL编译安装常见问题(或缺少依赖)及解决方法,MySQL 编译安装时需要安装的依赖(全)
  • 系统架构:分而治之
  • mysql数据库基础使用
  • NVR方案背景与产品介绍与构建一套完整的NVR产品解决方案
  • 分享一款快速APP功能测试工具
  • [Vue CLI 3] 配置解析之 css.extract
  • 《剑指offer》分解让复杂问题更简单
  • 【翻译】babel对TC39装饰器草案的实现
  • 345-反转字符串中的元音字母
  • Android路由框架AnnoRouter:使用Java接口来定义路由跳转
  • ES2017异步函数现已正式可用
  • FastReport在线报表设计器工作原理
  • IE报vuex requires a Promise polyfill in this browser问题解决
  • JavaSE小实践1:Java爬取斗图网站的所有表情包
  • Laravel 实践之路: 数据库迁移与数据填充
  • Mac转Windows的拯救指南
  • miaov-React 最佳入门
  • mongo索引构建
  • nginx 负载服务器优化
  • React的组件模式
  • Selenium实战教程系列(二)---元素定位
  • Traffic-Sign Detection and Classification in the Wild 论文笔记
  • tweak 支持第三方库
  • Web标准制定过程
  • 当SetTimeout遇到了字符串
  • 猴子数据域名防封接口降低小说被封的风险
  • 每天10道Java面试题,跟我走,offer有!
  • 入口文件开始,分析Vue源码实现
  • 微信小程序设置上一页数据
  • 温故知新之javascript面向对象
  • 一个普通的 5 年iOS开发者的自我总结,以及5年开发经历和感想!
  • 怎样选择前端框架
  • nb
  • MPAndroidChart 教程:Y轴 YAxis
  • 仓管云——企业云erp功能有哪些?
  • 说说我为什么看好Spring Cloud Alibaba
  • ​​​​​​​STM32通过SPI硬件读写W25Q64
  • ​软考-高级-系统架构设计师教程(清华第2版)【第20章 系统架构设计师论文写作要点(P717~728)-思维导图】​
  • ​总结MySQL 的一些知识点:MySQL 选择数据库​
  • #宝哥教你#查看jquery绑定的事件函数
  • #我与Java虚拟机的故事#连载04:一本让自己没面子的书
  • #我与Java虚拟机的故事#连载12:一本书带我深入Java领域
  • (Git) gitignore基础使用
  • (二)正点原子I.MX6ULL u-boot移植