1 Maven依赖

        <!-- EasyPoi文档处理工具 --><dependency><groupId>cn.afterturn</groupId><artifactId>easypoi-base</artifactId><version>4.4.0</version></dependency><!-- JFreeChart图表库 --><dependency><groupId>org.jfree</groupId><artifactId>jfreechart</artifactId><version>1.5.3</version></dependency><!-- Hutool工具包 --><dependency><groupId>cn.hutool</groupId><artifactId>hutool-all</artifactId><version>5.6.2</version></dependency>

2 调试代码

    /*** 替换内容** @param response* @throws IOException*/@GetMapping("/replaceContent")public void replaceContent(HttpServletResponse response) {try {//读文件ClassPathResource cpr = new ClassPathResource("/doc/模板.docx");XWPFDocument document = new MyXWPFDocument(cpr.getInputStream());//生成文本内容MapMap<String, Object> contentMap = new HashMap<>();contentMap.put("xudongmaster1", "旭东怪1");contentMap.put("xudongmaster2", "旭东怪2");//图例名称列表List<String> legendNameList = new ArrayList<>(Arrays.asList("一级", "二级", "三级", "四级", "五级"));//数据列表List<Object> dataList = new ArrayList<>(Arrays.asList(1, 3, 5, 6, 2));//生成饼图数据byte[] chartBytes = GenerateChartUtil.createPieChart("各级占比情况", legendNameList, dataList, 300, 400, JFreeChartUtil.createChartTheme("宋体"));//将饼图数据变成图片ImageEntity image = new ImageEntity();//设置高度image.setHeight(400);//设置宽度image.setWidth(300);//类型image.setType(ImageEntity.Data);image.setData(chartBytes);contentMap.put("chart", image);//替换文本内容WordExportUtil.exportWord07(document, contentMap);//返回流response.setHeader("content-type", "application/octet-stream");response.setContentType("application/octet-stream;charset=UTF-8");response.setHeader("Content-Disposition", "attachment; filename=" + new String("模板.docx".getBytes("utf-8"), "ISO-8859-1"));OutputStream outputStream = response.getOutputStream();document.write(outputStream);outputStream.flush();outputStream.close();} catch (Exception e) {e.printStackTrace();}}

3 模板文件

模板路径:

模板内容:

4 调试结果

注:

(1)模板中的替换标记必须以{{开始,以}}结尾,同时替换标记最好先在记事本中输入好,在复制到Word文档中,否则会出现内容替换失败的情况。

(2)GenerateChartUtil、JFreeChartUtil的源码请查看以下博客。

JFreeChart 生成5种图表(饼图、柱状图、堆叠柱状图、折线图、散点图)

EasyPoi 实现Word文档内容替换3种情况(正常文本替换、表格文本替换、图表替换)相关推荐

  1. 快速批量修改word文档内容

    快速批量修改word文档内容 在工作中可能经常遇到需要对word中同一位置的内容进行批量修改或者替换,如果数据量小,手动改一改就可以了,但是遇到大量的修改,再用手动修改的方法的话,工作量就变得很大了, ...

  2. Java——EasyPoi导出word文档,itextpdf转换pdf

    EasyPoi导出word文档,itextpdf转换pdf 文章目录 EasyPoi导出word文档,itextpdf转换pdf 前言 一.依赖 二.工具类 1.WordUtil 2.PDF工具类 3 ...

  3. 亿愿WORD文档内容搜索及工具集-打造最全面的OFFICE、pdf、txt等各类文件快捷批量处理工具

    [亿愿WORD文档内容搜索及工具集(YYWORDSearch)] 1)专业搜索指定目录下的WORD文件(*.DOC;*.DOCX;).WPS文件(*.WPS).Powerpoint文件(*.ppt;* ...

  4. python批量修改word文档内容

    实现的目标 批量修改word文档内容,此脚本直接修改文件,不是另存为,建议先copy再修改.多级目录结构对脚本没有影响,脚本会遍历"path"下所有目录以docx结尾文档. 用到的 ...

  5. Python动态修改Word文档内容,保留格式样式,并批量生成PDF

    Python动态修改Word文档内容,保留格式样式,并批量生成PDF 前言 一.需要安装的库 二.核心逻辑-替换 前言 假如你有一个Word模版文档,要在里面填写人员信息,但人员有成百上千个,手动填起 ...

  6. 合并多个word的代码_快速合并多个word文档内容,别再复制粘贴了!

    问题情境: 相信很多童鞋在处理多个word文档内容合并时,我想一般情况下你们都会打开各个文档,复制里面的内容,再粘贴到同一个文档里面. 技巧步骤: 1. 首先新建一个文档,单击"插入&quo ...

  7. java读取word文档内容_合并多个Word文档内容,还在复制粘贴就out了,同事五秒轻松搞定...

    在我们工作中,我们经常会编写多个Word文档内容,那么怎么将多个单个的Word文档合并到一个文档中,这就会显得有些难度. 如上图所示,我们需要将三个不同的案例,快速的汇总到我们的案例汇总表当中.许多朋 ...

  8. 计算机word文档无法预览,电脑打开Word文档内容显示不全或显示空白怎么解决

    很多用户会在电脑中使用必装的Microsoft Office系列软件.有用户在电脑中打开Word文档,发现内容显示不全,有时候显示空白,那么应该怎么解决这一问题?对此,大家可以参考本教程提供的方法. ...

  9. html5在线显示word文档,JS实现获取word文档内容并输出显示到html页面示例

    本文实例讲述了js实现获取word文档内容并输出显示到html页面.分享给大家供大家参考,具体如下: title var w = new activexobject('word.application ...

最新文章

  1. 【python】 针对python3 下无法导入tkinter
  2. 机械工业出版社之道格·赫尔曼《Python 3标准库》目录
  3. python-pygame激动时刻你我共享
  4. android git提交整个项目_使用子模块和子树来管理 Git 项目 | Linux 中国
  5. mysql 语句优化实例_MySQL 语句优化实例
  6. 【Linux】一步一步学Linux——fc命令(224)
  7. 使用Forge插件在现有Java EE项目上启用Arquillian
  8. android5.1 显示方向,Android5.1 Settings.apk定制显示选项
  9. 运用数组,输出从小到大的10个数
  10. 这个 80 后 IT 男厉害了!他用北京蜗居的首付在东京海淘了一栋楼!
  11. php检测是否存在敏感词,如何用PHP+Ajax判断是否有敏感词汇
  12. Node介绍及环境配置~超级详细哦
  13. 数据聚合与分组运算——GroupBy
  14. 【Codeforces Round #508 (Div. 2)】Slime【简单贪心】
  15. adb 黑域app_黑域ADB报错解决方法
  16. 计算机取证的相关案例,计算机取证案例分析
  17. 重装Office教程
  18. 为什么要去做亚马逊僵尸跟卖呢 亲身经历告诉你
  19. Android UI控件大全
  20. 服务器准系统diy,网易科技频道--DIY自己的低价“准系统”:之MICRO ATX主板篇

热门文章

  1. translate与rotate
  2. 计算机网络月考题职专一年级,职高一年级计算机专业WORD试题
  3. 辗转相除法求最大公因数-C语言
  4. 七、ROS-CAN通信
  5. 常用的在线工具类网站清单
  6. php无限极分类整理
  7. php 无限极分类(两种方式)
  8. C#毕业设计——基于C#+asp.net+sqlserver的证券术语解释及翻译系统设计与实现(毕业论文+程序源码)——翻译系统
  9. 浅谈Web App前端设计原则
  10. java文件输出流,写到.txt文件,如何实现换行