1、新建一个word文档

2、把调整完的word另存为xml格式:

3、使用文本编辑器打开

4、xml格式化
XML 在线格式化 | 菜鸟工具菜鸟工具-XML 在线格式化..https://c.runoob.com/front-end/710/

5、选定动态生成范围,添加 list 标签

6、java代码

项目结构

导入依赖

        <dependency><groupId>org.freemarker</groupId><artifactId>freemarker</artifactId><version>2.3.23</version></dependency>

generateWord

    /*** 使用FreeMarker自动生成Word文档** @param dataMap  生成Word文档所需要的数据* @param fileName 生成Word文档的全路径名称*/public static void generateWord(Map<String, Object> dataMap, String fileName, String templatePath, String template) throws Exception {// 设置FreeMarker的版本和编码格式Configuration configuration = new Configuration(new Version("2.3.23"));configuration.setDefaultEncoding("UTF-8");// 设置FreeMarker生成Word文档所需要的模板的路径configuration.setDirectoryForTemplateLoading(new File(templatePath));// 设置FreeMarker生成Word文档所需要的模板Template t = configuration.getTemplate(template, "UTF-8");// 创建一个Word文档的输出流Writer out = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(new File(fileName)), "UTF-8"));//FreeMarker使用Word模板和数据生成Word文档t.process(dataMap, out);out.flush();out.close();}

调用

    public static void main(String[] args) throws Exception {List<Test> lt=new ArrayList<>();Test t=new Test();t.setSeq(1);t.setName("测试01");t.setDes("测试01说明");lt.add(t);t=new Test();t.setSeq(2);t.setName("测试02");t.setDes("测试02说明");lt.add(t);t=new Test();t.setSeq(3);t.setName("测试03");t.setDes("测试03说明");lt.add(t);Map<String, Object> params = new HashMap<>();params.put("TestList", lt);String fileName="test.doc";generateWord(params, "src/main/resources/temp/" + fileName, "src/main/resources/word/", "TemplateV1.xml");}

生成效果

demo下载https://download.csdn.net/download/lw112190/85122047

Java freemarker 模板生成word动态表格相关推荐

  1. 利用 freemarker 模板生成 word 小结

    在企业级开发时,不可避免的会遇到生成 word 文档的需求,有两种常用的方案,1.使用 Apache POI 在后台通过代码生成 word 文档:2.使用模板生成 word 文档.第二种方法比较简单, ...

  2. java用模板生成word(docx)文档(含动态表格)

    生成word思路 用WPS或者office编辑好word的样式,然后另存为word xml文档,将xml翻译为FreeMarker模板,最后用java来解析FreeMarker模板并输出Docx. 编 ...

  3. java 使用 freemarker模板 生成 word 并用 aspose 转换成PDF

    添加依赖: <!-- freemarker生成word文件--><dependency><groupId>org.springframework.boot</ ...

  4. java根据模板生成word文档_Python办公自动化:使用python来自动生成word文档

    让python做办公自动化,让你闲下来 让python做自动化,让你闲下来 上节对python的excel Python办公自动化系列:自动操作Excel自动化做了介绍.这次介绍如何用python对w ...

  5. freemarker模板生成word文档踩坑记录

    在使用freemarker的过程中遇到的问题: 1.报错: Caused by: freemarker.core.InvalidReferenceException: The following ha ...

  6. Java使用iText生成word文 表格、图片、表格里插图片、页眉、页脚、图片页脚、(学习帖)

    刚开始自己写的时候上网搜帖子,相信大家都看见了,千篇一律很多东西压根就不提,做了好几天,终于成形了.好了,立马分享! 好了,首先是我的js部分,这里是highchars的方法获取图片字符串直接提交到了 ...

  7. 使用freemarker模板生成word文档

    项目中最近用到这个东西,做下记录. 如下图,先准备好一个(office2003)word文档当做模板.文档中图片.姓名.性别和生日已经使用占位符代替,生成过程中将会根据实际情况进行替换. 然后将wor ...

  8. Java根据模板生成word

    今天这篇文章是根据word模板去生成新的word(在原模板当中写内容). 展示效果如下图,左边为模板,右边是生成后的新word. 模板当中我使用了很多的占位符. 实现方式是用到了poi-tl模板引擎. ...

  9. java根据模板生成word 带图,xml模板图片注意标签处理

    循环给word插入图片 <#if image??>       <#list image as bean>       <w:p>         <w:pP ...

最新文章

  1. 准备把平台挪到linux
  2. Windows下Python 3.6 + VS2017 + Anaconda 解决Unable to find vcvarsall.bat问题
  3. bzoj3993 [SDOI2015]星际战争
  4. ccf-csp #201903-4 消息传递接口
  5. c语言08,C语言08 -- 指针
  6. JavaScript 的内部字符编码是 UCS-2 还是 UTF-16
  7. ssh长时间不操作便断开_连接SSH长时间不操作断开解决办法
  8. 高德网络定位算法的演进
  9. binary_search()、upper_bound()、lower_bound() 二分查找
  10. python学习:Python 包
  11. JAVA常用算法一:二分查找【递归 or 非递归】
  12. 大话设计模式--解释器模式
  13. idea创建maven工程_maven创建父子工程 springboot自动配置
  14. Cinesamples CineOrch for Mac(电影管弦乐队音色库)v2.0特别版
  15. Spring(16) 获得bean的id
  16. 误删libcrypto.so.1.0.0
  17. 通过3点计算出一元二次方程解析式
  18. stylus 设置全局样式_vue 公共样式处理_全局styl文件
  19. 华东师范大学夏令营复习计划总结
  20. 2017(第六届)国际智慧城市峰会暨智慧城市新科技博览会在沪召开

热门文章

  1. Linux之kickstart全自动安装
  2. LaTeX Beamer 笔记 —— 用LaTeX做演示文稿
  3. Pycharm提示方法Method xxx may be 'static'
  4. 为技术而聚,为AI而战,飞桨黑客马拉松第三期圆满收官!
  5. Protege使用教程(进阶篇)
  6. web安全问题-1.安全世界观
  7. 如何优雅地实现C++编译期多态?
  8. 我国超级计算机第一名是,中国蝉联超级计算机冠军,美国跌出前三
  9. Python写停车场收费系统
  10. Linux命令行与shell脚本编程之笔记(4)