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

深圳营销型网站建设服务商杭州做网站好的公司排名

深圳营销型网站建设服务商,杭州做网站好的公司排名,如何创建一个官网,网站后台清除缓存在哪word模板导出 最近项目中有个功能,导出月报,发现同事使用了docx格式模板,感觉比之前转成xml的简单多了,这边记录下使用方法。 xml方式导出word,模板太复杂了 资料 poi-tl 一个基于Apache POI的Word模板引擎,也是一个免费开源的Jav…

word模板导出

最近项目中有个功能,导出月报,发现同事使用了docx格式模板,感觉比之前转成xml的简单多了,这边记录下使用方法。
xml方式导出word,模板太复杂了

资料

poi-tl

一个基于Apache POI的Word模板引擎,也是一个免费开源的Java类库,你可以非常方便的加入到你的项目中,并且拥有着让人喜悦的特性


官方文档地址 ,还是很详细的,有多个场景的示例

如何使用

  • 必要的标签知识
    • 文字

    {{var}}

    • 数据模型:
     String :文本TextRenderData :有样式的文本HyperlinkTextRenderData :超链接和锚点文本Object :调用 toString() 方法转化为文本
    
    • 图片

      图片标签以@开始:{{@var}}

      • 数据模型:
      String :图片url或者本地路径,默认使用图片自身尺寸ByteArrayPictureRenderDataFilePictureRenderDataUrlPictureRenderData
      
    • 表格行循环

      配合插件-LoopRowTableRenderPolicy

    • 图标

      • 多系列图表指的是条形图(3D条形图)、柱形图(3D柱形图)、面积图(3D面积图)、折线图(3D折线图)、雷达图、散点图等

      数据模型ChartMultiSeriesRenderData

      • 单系列图表指的是饼图(3D饼图)、圆环图等。
  • 引入依赖
<dependency><groupId>com.deepoove</groupId><artifactId>poi-tl</artifactId><version>1.12.2</version></dependency>
  • 简单的demo
import com.deepoove.poi.XWPFTemplate;
import com.deepoove.poi.config.Configure;
import com.deepoove.poi.config.ConfigureBuilder;
import com.deepoove.poi.data.ChartMultiSeriesRenderData;
import com.deepoove.poi.data.Charts;
import com.deepoove.poi.data.PictureRenderData;
import com.deepoove.poi.data.Pictures;
import com.deepoove.poi.plugin.table.LoopRowTableRenderPolicy;
import com.deepoove.poi.policy.RenderPolicy;
import org.springframework.stereotype.Service;import java.io.*;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;/*** @program: learn_summary* @description:* @author: zzg@xnj* @create: 2025-03-10 15:58**/
@Service
public class WordService {public  void makeWord(){HashMap<String, Object> dates = new HashMap<>();//字符串String wenzi="这个是文字";dates.put("wenzi", wenzi);//单个图片
//        dates.put("pic", Pictures.ofUrl( "https://img.tukuppt.com/ad_preview/00/10/23/5c992ae114e20.jpg!/fw/980").size(200, 200).create());dates.put("pic", "https://img.tukuppt.com/ad_preview/00/10/23/5c992ae114e20.jpg!/fw/980");//多个图片ArrayList<String> urls = new ArrayList<>();urls.add("https://pic.52112.com/2020/04/13/JPG-200413_328/gCaPae4zjp_small.jpg");urls.add("https://img.tukuppt.com/ad_preview/00/10/23/5c992ae114e20.jpg!/fw/980");dates.put("pictures",  createPictureList("picture",urls,200,200));//插件使用HashMap<String, RenderPolicy> policyHashMap = new HashMap<>();//表格 使用LoopRowTableRenderPolicyLoopRowTableRenderPolicy loopRowTableRenderPolicy = new LoopRowTableRenderPolicy();ArrayList<HashMap<String, String>> tables = new ArrayList<>();HashMap<String, String> map = new HashMap<>();map.put("name", "大豆");map.put("count", "18");map.put("price", "100");tables.add(map);map = new HashMap<>();map.put("name", "黄豆");map.put("count", "38");map.put("price", "110");tables.add(map);dates.put("goods",tables);policyHashMap.put("goods", loopRowTableRenderPolicy);//图表ChartMultiSeriesRenderData chart = Charts.ofMultiSeries("商品售卖情况", new String[] { "大豆", "黄豆" }).addSeries("北京", new Double[] { 15.0, 6.0 }).addSeries("上海", new Double[] { 223.0, 119.0 }).create();dates.put("barChart", chart);try {WordService.createWordOfList("E:\\data\\text2.doc",new FileInputStream("E:\\data\\word_template.docx"),dates,policyHashMap);} catch (FileNotFoundException e) {e.printStackTrace();}}private List<Map<String, PictureRenderData>> createPictureList(String mapKey,List<String> urls,int width, int height) {List<Map<String, PictureRenderData>> list = new ArrayList<>();for (String url : urls) {list.add(createPictureMap(mapKey,url, width, height));}return list;}private Map<String, PictureRenderData> createPictureMap(String mapKey,String imgUrl, int width, int height) {Map<String, PictureRenderData> map = new HashMap<>();map.put(mapKey, Pictures.ofUrl( imgUrl).size(width, height).create());return map;}/*** 创建word文档* @param outputPath 输出路径* @param templatePath 模板路径* @param data 数据* @param placeholderPolicy 占位标签使用插件* @return*/public static boolean createWordOfList(String outputPath, InputStream templatePath, Map<String, Object> data, Map<String, RenderPolicy> placeholderPolicy)   {try {FileOutputStream out = new FileOutputStream(outputPath);BufferedOutputStream bos = new BufferedOutputStream(out);// 使用Configure.ConfigureBuilder而不是BuilderConfigureBuilder builder = Configure.builder();// 动态绑定插件if (placeholderPolicy!=null) {for (Map.Entry<String, RenderPolicy> entry : placeholderPolicy.entrySet()) {builder.bind(entry.getKey(), entry.getValue());}}Configure configure = builder.build();// 读取模板并渲染数据XWPFTemplate template = XWPFTemplate.compile(templatePath, configure).render(data);try {template.write(bos);template.close();} catch (Exception e) {e.printStackTrace();return false;}out.flush();bos.flush();} catch (Exception e) {e.printStackTrace();return false;}return true;}}
  • 模板
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

文章转载自:

http://6m8H2Nkw.ryfpx.cn
http://36rf6MzA.ryfpx.cn
http://ZmgV0XBz.ryfpx.cn
http://J0ouDMuu.ryfpx.cn
http://J0WGQiQg.ryfpx.cn
http://t2xMvF9N.ryfpx.cn
http://7FpS7u4l.ryfpx.cn
http://IwjTziSD.ryfpx.cn
http://NyR6Thi9.ryfpx.cn
http://EutSJVrZ.ryfpx.cn
http://qn8DOuel.ryfpx.cn
http://w2aQpIB2.ryfpx.cn
http://kc6m0THT.ryfpx.cn
http://yYBm9Vfi.ryfpx.cn
http://FxDdsKMd.ryfpx.cn
http://XB2qs0hO.ryfpx.cn
http://mjeM9AZn.ryfpx.cn
http://N39j3zwO.ryfpx.cn
http://Xg4e7qCW.ryfpx.cn
http://40hcuJjw.ryfpx.cn
http://b1fyE9Nh.ryfpx.cn
http://6jaT4nQO.ryfpx.cn
http://uusHIE25.ryfpx.cn
http://9VO4oLzx.ryfpx.cn
http://vZ3l2Ic2.ryfpx.cn
http://pfrXn83j.ryfpx.cn
http://MnWwB0T1.ryfpx.cn
http://N1RwxZUx.ryfpx.cn
http://2hrXwQ9z.ryfpx.cn
http://IDoUm0Ux.ryfpx.cn
http://www.dtcms.com/wzjs/755151.html

相关文章:

  • 网站建设公司行业描述填什么高校校园网络设计方案
  • 建设电子商务网站的规划书哪有做网站的 优帮云
  • 本地网站建设最新网站模板
  • app官网网站建设温州网站建设模板
  • 东莞网站建设模板设计摄影师网站
  • 网站 产品原型企业所得税税负率怎么算的
  • 上海做网站多少钱网站蜘蛛抓取
  • 网站如何在工信部备案信息网络营销公司经营范围
  • 淮安网站建设推广东莞网站建设少儿托管
  • 合肥网站开发培训学校网站建设后台什么意思
  • 企业网站seo排名优化佛山企业网站建设咨询
  • 网站域名dns电子商务网站有哪些?
  • 南通专业企业门户网站设计南京网站建设丁豆褒
  • 公司免费建网站免费网站建设作业总结
  • 玖壹购网站是做啥子的天津哪家网站设计公司好
  • 周大福网站设计特点开发一个网站需要多少钱
  • 蒙牛网站建设报价情况姓名域名网站
  • 微知微网站建设实训平台合肥做淘宝网站
  • 淘宝网站建设好评外贸网站推广计划
  • 建设一个征婚网站的程序招聘网站开发人员
  • 如何修改公司网站电脑做apk的网站h5
  • 做考勤的网站wordpress图片模糊加载
  • 做导购网站需要多大的服务器韶关网站seo
  • 桂林网站建企业网站制作
  • 有哪些网站可以做全景效果图个人在国外网站做电商
  • 灰蓝 网站模板摄影做网站
  • 廊坊做网站外包dede手机网站跳转
  • 中山快速做网站价格如何做公司网站优化
  • 做网站平台的注册什么商标网站开发优惠活动方案
  • 哈尔滨模版建站公司推荐邵阳网站建设公司