使用poi-tl模板导出图表

pom:

        <dependency>
            <groupId>com.deepoove</groupId>
            <artifactId>poi-tl</artifactId>
            <version>1.12.0</version>
        </dependency>
public static void main(String[] args) throws IOException {
        Map<String, Object> map = new HashMap<>();
        map.put("score", "28");


        ChartMultiSeriesRenderData sbqk = Charts
                .ofMultiSeries("十六市区县上报情况", new String[] { "济南","青岛","烟台","威海"})
                .addSeries("上报情况", new Double[] { 15.0,20.6,42.6,90.1})
                .create();

        map.put("sbqk", sbqk);

        ChartMultiSeriesRenderData sjzlpm = Charts
                .ofMultiSeries("数据质量排名", new String[] { "山东大学齐鲁医院","山东省泰山医院","山东省第二人民医院","山东省第三医院"})
                .addSeries("数据质量排名", new Double[] { 70.5,40.6,22.7,85.4})
                .create();

        map.put("sjzlpm", sjzlpm);

        ChartMultiSeriesRenderData qst = Charts
                .ofMultiSeries("上报趋势", new String[] { "06-10","06-11","06-12","06-13","06-14","06-15"})
                .addSeries("上报趋势", new Double[] { 70.5,40.6,22.7,85.4,700.0,40.8})
                .create();

        map.put("qst", qst);

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

        File file = new File("D:\\文件输入.docx");
        XWPFTemplate template = XWPFTemplate.compile(file).render(map);

        FileOutputStream out = new FileOutputStream(new File("D:\\文件输出.docx"));
        template.write(out);
        out.flush();
        out.close();
        template.close();
    }

输入模板:

 word图表配置:

1.插入->图表

2.选中图表最外层->测试->替换文字,里面内容为{{xxx}}

即相对应的map key


版权声明:本文为u013008898原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。