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逆向生成代码有哪些_利用mybatis逆向工程生成代码
在做项目过程中,当面对很多表时,手动编写Mapper.xml.Mapper.java和pojo无疑是要人命,还容易出错,导致对数据库操作时各种异常.这就陷入了写bug,改bug的旋涡. 针对这一痛点, ...
- java word模板替换多行_Java动态替换word模板的最佳实践
poi-tl 基于word的模板渲染(替换)组件 对docx格式的文档增加模板语法,增加渲染模板的方便性,目前支持对段落.页眉.页脚.表格的文本.图片.表单渲染. 对于word模板替换,我们不仅要考虑 ...
- freemarker动态生成word、pdf文档(写入图片)
需求:给出固定的word模板通过后台查询出的数据动态生成word文档 结果展示:列表中的数据就是动态生成的. 一.创建.ftl模板文件,(我这里就不详细展开了,直接粘贴ftl模板的代码) <!D ...
- Springboot中使用freemarker动态生成word文档
文章目录 freemarker模板动态生成word文档 前言 准备 简单模板准备 <一> `word 2003` 新建`.doc` 模板 <二> 另存为`.xml` 文件,格式 ...
- 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目录中归档文件中所存放的系统类文件 搜寻再从 ...
- vue 嵌套表格组件_使用form-create动态生成vue自定义组件和嵌套表单组件
使用form-create动态生成vue自定义组件和嵌套表单组件 maker.create 通过建立一个虚拟 DOM的方式生成自定义组件 生成 Maker let rule = [ formCreat ...
最新文章
- 云服务器dns配置文件,linux服务器dns配置文件
- shell eval命令
- weblogic mime-type
- 判断js对象是否拥有某属性
- as点击发送广播_Apache Flink 中广播状态的实用指南
- 每天一道LeetCode-----括号匹配
- ubuntu14.04 LTS 搜狗输入法安装和不能输入中文的解决方法
- zookeeper命令
- 事务的四大特性和隔离级别
- 一周愣降900元!这款iPhone不值了?
- 【Java例题】2.5 温度转换
- python机器学习案例系列教程——聚类算法总结
- 机器学习基础算法23-XGBoost实践
- .Net MVC中设置默认启动为某区域的视图
- pandas 筛选出满足条件的行并赋值
- 如何把空间数据从CGCS2000转换到WGS84和BD09 ——JAVA语言实现
- web前端学习13-19(HTML常用标签)
- Flask + vue 前后端分离的 二手书App
- 《互联网时代》第二集·浪潮
- PS无法拖拽置入图片解决办法
热门文章
- 关于深度学习,可能是最容易读进去的科普
- 我整理了一些Python测试的库,看一下有没有你需要的库
- 解决IDEA src下的目录全部变灰无法运行
- 为什么ZMap用一个小时内就能扫遍整个互联网
- 怎样拍摄全景照片?全景图片拍摄流程
- HTML5学习之路(电影影评网)
- TerraBuilder 操作制作MPT
- V4L2视频驱动框架---meida_device管理模块简述
- 被全球过度炒作的Spotify敏捷部落制,连Spotify公司自己都不用
- 手机计算机怎么打出无限符号,Win7怎么用搜狗打无限符号|输入法打无限符号方法...