当前位置: 首页 > 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>

http://www.mrgr.cn/news/6410.html

相关文章:

  • html js弹幕功能
  • Spring的笔记补充
  • B站宋红康JAVA基础视频教程个人笔记chapter07(面向对象高级)
  • Linux Nvidia驱动一览
  • 探索ChatGPT:一场AI语言模型的革命
  • 数据结构(邓俊辉)学习笔记】优先级队列 08——左式堆:结构
  • 算法的学习笔记---按之字形顺序打印二叉树
  • 分布式 - 主从复制技术详解及时延处理
  • vue3+vite5+vant4移动端rem适配方案
  • Spring面试题一
  • Shell 编程规范与变量
  • V90伺服使用FB284报警8402
  • NextJs - 服务端/客户端组件之架构多样性设计
  • Metasploit漏洞利用系列(五):MSF渗透测试 - 应用Word软件渗透实战
  • 关于IDEA2022.3 Lombok插件失效问题
  • JAVA双端队列Deque详解
  • AI编程系列一1小时完成链家房价爬虫程序
  • DALI-2 NFC调光解码方案,电源模块,解码板
  • 【机器学习】YOLO 关闭控制台推理日志
  • 微服务-日志脱敏