1、添加freemarker.jar 到java项目。

2、新建word文档。

3、将文档另存为xml 格式。

4、将xml格式化后打开编辑(最好用notepad,有格式),找到需要替换的内容,将内容换为变量(${变量名})。

5、生成表格,包括动态列和动态行。其中columnList 是List格式的表头数据,datas 是List>格式的全部表格数据。

#list>

${cell}

#list>

#list>

6、生成图片。将xml文件中 中的数据替换成需要的图片的base64编码即可。

7、保存后,将文件后缀改为.ftl,放到java项目文件夹。生成word:

Map map = new HashMap();

map.put("变量名", 变量内容);

public static void createWord(Map map, String filePath) {

try {

Configuration configuration = new Configuration();

configuration.setDefaultEncoding("UTF-8");

configuration.setClassForTemplateLoading(TemplateToWord.class, "/com/cn/templates/");//模板所在文件夹

Template template = configuration.getTemplate("report.ftl");//根据名称加载模板

File outFile = new File(filePath);//生成新word文档

if (!outFile.getParentFile().exists()) {

outFile.getParentFile().mkdirs();

}

Writer out = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(outFile), "UTF-8"));

// 生成文件

template.process(map, out);

out.flush();

out.close();

} catch (Exception e) {

e.printStackTrace();

}

}

java生成word 带表格_【java】Freemarker 动态生成word(带图片表格)相关推荐

  1. java利用freemarker动态生成word文档及动态表格

    这里写自定义目录标题 目标 准备 实现 处理模板 java实现 验证 目标 根据给定word模板,动态填充指定内容,并输出为新的word文档. 准备 1.模板: 准备一份目标格式的word文档,如:w ...

  2. java word导出带背景_Java 用Freemarker完美导出word文档(带图片)

    前言 最近在项目中,因客户要求,将页面内容(如合同协议)导出成word,在网上翻了好多,感觉太乱了,不过最后还是较好解决了这个问题. 准备材料 1.word原件 2.编辑器(推荐Firstobject ...

  3. java逆向生成代码有哪些_利用mybatis逆向工程生成代码

    在做项目过程中,当面对很多表时,手动编写Mapper.xml.Mapper.java和pojo无疑是要人命,还容易出错,导致对数据库操作时各种异常.这就陷入了写bug,改bug的旋涡. 针对这一痛点, ...

  4. java word模板替换多行_Java动态替换word模板的最佳实践

    poi-tl 基于word的模板渲染(替换)组件 对docx格式的文档增加模板语法,增加渲染模板的方便性,目前支持对段落.页眉.页脚.表格的文本.图片.表单渲染. 对于word模板替换,我们不仅要考虑 ...

  5. Springboot中使用freemarker动态生成word文档

    文章目录 freemarker模板动态生成word文档 前言 准备 简单模板准备 <一> `word 2003` 新建`.doc` 模板 <二> 另存为`.xml` 文件,格式 ...

  6. freemarker动态生成word、pdf文档(写入图片)

    需求:给出固定的word模板通过后台查询出的数据动态生成word文档 结果展示:列表中的数据就是动态生成的. 一.创建.ftl模板文件,(我这里就不详细展开了,直接粘贴ftl模板的代码) <!D ...

  7. java删减pdf内容合并_[Java教程]Java基础之PDF文件的合并

    [Java教程]Java基础之PDF文件的合并 0 2017-07-28 00:00:45 1.首先下载一个jar包:pdfbox-app-1.7.1.jar 2.代码如下:package com;i ...

  8. java对数字的处理_[java初探10]__关于数字处理类

    前言 在我们的日常开发过程中,我们会经常性的使用到数字类型的数据,同时,也会有众多的对数字处理的需求,针对这个方面的问题,在JAVA语言中.提供解决方法的类就是数字处理类 java中的数字处理类包括: ...

  9. java 微信群发多图文_[Java教程]httpClient实现微信公众号消息群发

    [Java教程]httpClient实现微信公众号消息群发 0 2016-09-21 20:00:10 1.实现功能 向关注了微信公众号的微信用户群发消息.(可以是所有的用户,也可以是提供了微信ope ...

  10. java类全路径简写_[JAVA] JAVA 类路径

    Java 类路径 类路径是所有包含类文件的路径的集合. 类路径中的目录和归档文件是搜寻类的起始点. 虚拟机搜寻类 搜寻jre/lib和jre/lib/ext目录中归档文件中所存放的系统类文件 搜寻再从 ...

最新文章

  1. Linux环境编程--多线程
  2. 优化器 Adam和SGD的结合体AdaBelief
  3. python操作文件夹-Python文件操作大全,随机删除文件夹内的任意文件
  4. 如何统统扩充loop设备的size(linux loop resize2fs)
  5. poj3669 Meteor Shower(预处理+bfs)
  6. C——Flowers
  7. metric learning -- 马氏距离与欧氏距离
  8. C语言丨线性表(二):线性链表(单链表)
  9. SAP License:SAP常用基本小技巧
  10. php mysql delimiter,MySql delimiter的作用是什么_MySQL
  11. VS2005 中文版下载
  12. excel 常用快捷键及小技巧
  13. 三國演義與三國志兩部文本的導讀概要2019年5月11日
  14. 按钮点击后的颜色css,CSS实现按钮点击后根据背景色加深效果-一颗优雅草bigniu...
  15. 七夕撒狗粮,结婚五周年,mysql学习教程
  16. 我的无线宽带由器 TP-LINK TL-WR841N如何设置限
  17. t420i升级固态硬盘提升_旧电脑升级!使用固态硬盘必做的5件事,让win10操作流畅如win7...
  18. Win7:如何部署定制的Quicklaunch图标
  19. 协同过滤入门介绍(转)
  20. 无线网络技术—学习AC的基础配置

热门文章

  1. irc php,IRC / 实时聊天系统
  2. COLA 架构使用规范化
  3. 计算机基础题word,计算机应用基础试题(带答案)Word版
  4. GEE:变异系数法在遥感影像分析中的应用及权重计算
  5. 小沙的remake(牛客)排序+ 树状数组 + dp
  6. 国产服务器芯片厂商排名,x86服务器国内厂家(国产服务器厂商排名)
  7. 信用评分与数据挖掘(一~七)
  8. python之循环语句(for循环)
  9. IC设计中节省静态功耗和动态功耗的方法
  10. 小程序图片自适应宽高,保持图片比例不变