java使用easypoi按模板导出word文档遇到的问题

1.导出时报空指针

在项目运行至WordExportUtil.exportWord07(doc, params)方法时报错,首先断点检查doc路径和params内容。

检查模板中的{{}}和是否有不必要空格

我在模板中的一个表格里粘贴了其他表格的数据,可能造成了有换行,空格的情况。数据全部对照params检查后没问题,将模板中数据项检查,整理表格格式保证全部一致,导出成功。

2.使用JfreeUtil导出图片时x轴数据过于密集

我导出的图片是三个月的每日数据的曲线图,正常导出后word中显示的图片90个x轴数据都挤在一起,不能使用。需求只需要显示几个点的日期和数据。失败的曲线图:

java使用easypoi按模板导出word文档遇到的问题_第1张图片

百度了一些方法,但是都没成功,可能是我对JfreeUtil的了解太浅薄了。需要自己想个办法。

将x轴上的数组除了需要展示的日期全改为""。

        //添加数据集
        DefaultCategoryDataset dataset = new DefaultCategoryDataset();
        //dayPowerList为传入的数据,内有日期和数据。
        //dayPowerList.get(i).get(name)为传入的日期即x轴数据,dayPowerList.get(i).get(value)为传入的数据即y轴数据
        for(int i=0; i

导出效果

java使用easypoi按模板导出word文档遇到的问题_第2张图片

当然i%10 == 0是简单处理,可以进行更复杂处理。

3.导出时报string index out of range下标超限问题

排查自己代码无问题后发现导出时报下标超限,下载源码debug后发现是截取模板中{{}}失败,导致无法正常对应数据。检查模板中所有的{{和}},建议自己下载源码debug。在ParseWord07.java的parseWordSetValue方法中逐一检查是否有截取失败的数据。

源码下载地址https://gitee.com/lemur/easypoi

4.多文档合并问题

参考https://www.cnblogs.com/zeng1994/p/bef8f7ab14486d489db8ee72b9f8ffc0.html

你可能感兴趣的:(easypoi)