java生成word 带表格_【java】Freemarker 动态生成word(带图片表格)
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(带图片表格)相关推荐
- java利用freemarker动态生成word文档及动态表格
这里写自定义目录标题 目标 准备 实现 处理模板 java实现 验证 目标 根据给定word模板,动态填充指定内容,并输出为新的word文档. 准备 1.模板: 准备一份目标格式的word文档,如:w ...
- java word导出带背景_Java 用Freemarker完美导出word文档(带图片)
前言 最近在项目中,因客户要求,将页面内容(如合同协议)导出成word,在网上翻了好多,感觉太乱了,不过最后还是较好解决了这个问题. 准备材料 1.word原件 2.编辑器(推荐Firstobject ...
- java逆向生成代码有哪些_利用mybatis逆向工程生成代码
在做项目过程中,当面对很多表时,手动编写Mapper.xml.Mapper.java和pojo无疑是要人命,还容易出错,导致对数据库操作时各种异常.这就陷入了写bug,改bug的旋涡. 针对这一痛点, ...
- java word模板替换多行_Java动态替换word模板的最佳实践
poi-tl 基于word的模板渲染(替换)组件 对docx格式的文档增加模板语法,增加渲染模板的方便性,目前支持对段落.页眉.页脚.表格的文本.图片.表单渲染. 对于word模板替换,我们不仅要考虑 ...
- Springboot中使用freemarker动态生成word文档
文章目录 freemarker模板动态生成word文档 前言 准备 简单模板准备 <一> `word 2003` 新建`.doc` 模板 <二> 另存为`.xml` 文件,格式 ...
- freemarker动态生成word、pdf文档(写入图片)
需求:给出固定的word模板通过后台查询出的数据动态生成word文档 结果展示:列表中的数据就是动态生成的. 一.创建.ftl模板文件,(我这里就不详细展开了,直接粘贴ftl模板的代码) <!D ...
- 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 ...
- java对数字的处理_[java初探10]__关于数字处理类
前言 在我们的日常开发过程中,我们会经常性的使用到数字类型的数据,同时,也会有众多的对数字处理的需求,针对这个方面的问题,在JAVA语言中.提供解决方法的类就是数字处理类 java中的数字处理类包括: ...
- java 微信群发多图文_[Java教程]httpClient实现微信公众号消息群发
[Java教程]httpClient实现微信公众号消息群发 0 2016-09-21 20:00:10 1.实现功能 向关注了微信公众号的微信用户群发消息.(可以是所有的用户,也可以是提供了微信ope ...
- java类全路径简写_[JAVA] JAVA 类路径
Java 类路径 类路径是所有包含类文件的路径的集合. 类路径中的目录和归档文件是搜寻类的起始点. 虚拟机搜寻类 搜寻jre/lib和jre/lib/ext目录中归档文件中所存放的系统类文件 搜寻再从 ...
最新文章
- Linux环境编程--多线程
- 优化器 Adam和SGD的结合体AdaBelief
- python操作文件夹-Python文件操作大全,随机删除文件夹内的任意文件
- 如何统统扩充loop设备的size(linux loop resize2fs)
- poj3669 Meteor Shower(预处理+bfs)
- C——Flowers
- metric learning -- 马氏距离与欧氏距离
- C语言丨线性表(二):线性链表(单链表)
- SAP License:SAP常用基本小技巧
- php mysql delimiter,MySql delimiter的作用是什么_MySQL
- VS2005 中文版下载
- excel 常用快捷键及小技巧
- 三國演義與三國志兩部文本的導讀概要2019年5月11日
- 按钮点击后的颜色css,CSS实现按钮点击后根据背景色加深效果-一颗优雅草bigniu...
- 七夕撒狗粮,结婚五周年,mysql学习教程
- 我的无线宽带由器 TP-LINK TL-WR841N如何设置限
- t420i升级固态硬盘提升_旧电脑升级!使用固态硬盘必做的5件事,让win10操作流畅如win7...
- Win7:如何部署定制的Quicklaunch图标
- 协同过滤入门介绍(转)
- 无线网络技术—学习AC的基础配置