西安做网站seo,河南省人事考试中心,太原关键词排名首页,最大的地方门户网站源码这几天有个任务#xff0c;服务端导出word要求从数据库取到多张图片#xff0c;然后输出到word中#xff0c;并且说明一共几张#xff0c;当前是第几张。 网上翻了很久也没有找到示例#xff0c;不过最终难题还是得到了攻克。 因为之前的代码是有一个导出的map#xff0c…这几天有个任务服务端导出word要求从数据库取到多张图片然后输出到word中并且说明一共几张当前是第几张。 网上翻了很久也没有找到示例不过最终难题还是得到了攻克。 因为之前的代码是有一个导出的map暂且叫resultMapresultMap中又有一个对象这里暂且叫exportObj我们要加的图片和文字说明都要加在这个exportObj里面。 怎么获取图片就不说了各个系统肯定是不一样的假设已经获取到了图片的url然后后续代码如下
// imgUrlList为图片的url集合
// 声明一个存放图片和说明map的list
ListMapString, Object images Lists.newArrayList();
// 遍历图片url
for (int i 0; i imgUrlList.size(); i) {// 声明一个存放一对图片说明的mapMapString, 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依赖
dependencygroupIdcom.deepoove/groupIdartifactIdpoi-tl/artifactIdversion1.10.0/version
/dependency