当前位置:   article > 正文

学习分享:POI-TL 导出Word简单和复杂表格合并实现分享_如何使用poi-tl 循环导出多个案例至一个word

如何使用poi-tl 循环导出多个案例至一个word

最近在做一个项目,根据代码反推模板格式,渲染数据到word,于是学习了下poi-tl技术。

先把官方文档地址放出来,一些简单的东西都可以上面找到。

Poi-tl Documentation

然后记录一下简单表格渲染,只需要通过{{}}符号,将渲染的map数据放中间,即可通过下面代码渲染到word。

  1. //构建 表格列(循环插件)
  2. LoopRowTableRenderPolicy goods = new LoopRowTableRenderPolicy();
  3. LoopRowTableRenderPolicy dataLeft = new LoopRowTableRenderPolicy();
  4. Configure config = Configure.builder().bind("goods", goods).bind("dataLeft", dataLeft).build();
  5. XWPFTemplate.compile(inPathNew, config).render(map);
  6. //inPathNew 是读取的模板地址
  7. //config 是配置循环的列map key(这样说更好理解一点)
  8. //map 是渲染到word的数据

例一、简单文本及表格渲染:

        

map数据如下:

渲染结果如下:

例二、复杂表格渲染:

map数据如下:

渲染结果:

例三、图表处理

  1. JSONObject histogramImage = (JSONObject) map.get("histogramImage");
  2. JSONArray xArray = histogramImage.getJSONArray("x");
  3. JSONArray yArray = histogramImage.getJSONArray("y");
  4. ChartMultiSeriesRenderData chart = Charts
  5. .ofMultiSeries("ChartTitle", new String[] { xArray.getString(0), xArray.getString(1) })
  6. .addSeries("countries", new Double[] { yArray.getDouble(0),yArray.getDouble(1) })
  7. .create();
  8. map.put("histogramImage", chart);

然后word插入图表,

右击 ->  查看可选文字 ->

例四、简单手动画表格

  1. RowRenderData row0 = Rows.create("姓名", "学历");
  2. RowRenderData row1 = Rows.create("李四", "博士");
  3. map.put("mytable", Tables.create(row0, row1));

{{#mytable}} 渲染表格

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/IT小白/article/detail/606787
推荐阅读
相关标签
  

闽ICP备14008679号