
java生成word文件
4. 将XML文件重命名为
发布日期:2021-05-20 00:21:20
浏览次数:26
分类:精选文章
本文共 2714 字,大约阅读时间需要 9 分钟。
使用Freemarker生成Word文档详细解析
1. 引入Freemarker依赖
在项目中首先需要引入Freemarker库。可以通过以下Maven依赖方式引入:
org.freemarker freemarker 2.3.28
2. 创建Word文件并设置变量
创建一个新的Word文档,文件中需要设置一些占位符变量,目前使用英文单词代替具体内容。例如,设置以下变量:
wordname
user
password
wordDescription
wordList
(包含多个项目,每个项目包含para
、type
和empty
字段)
3. 将Word文档另存为XML文件
将Word文档保存为XML格式。可以使用如图的工具或代码进行转换。转换完成后,文件扩展名应为 .xml
。
4. 将XML文件重命名为.ftl
文件
将生成的XML文件直接重命名为.ftl
,这样可以直接用于Freemarker模板的处理。无需额外修改格式即可使用。
5.开始FTL文件的修改
(jq部分需要去掉)
6.编写代码
在Java项目中使用Freemarker模板进行Word文档的生成。以下是一个简单的代码示例:
import freemarker.template.Configuration;import freemarker.template.Template;import freemarker.template.TemplateException;import freemarker.template.Version;import java.io.File;import java.io.FileWriter;import java.io.IOException;import java.util.HashMap;import java.util.Map;import static java.util.stream.Collectors.toList;public class WordTest { @PostMapping("/createWord") public void createWord() { // 初始化配置 Configuration configuration = new Configuration(new Version("2.3.0")); configuration.setDefaultEncoding("UTF-8"); // 创建参数Map MapdataMap = new HashMap<>(); // 初始化数据 resetData(dataMap); // 加载模板 try { Template template = configuration.getTemplate("demo.ftl"); // 设置输出文件 File outputfile = new File("E:/PPT模板/" + Math.random()*10000 + ".doc"); FileWriter writer = new FileWriter(outputfile, true); // 模板处理 template.process(dataMap, writer); writer.close(); } catch (TemplateException | IOException e) { e.printStackTrace(); } } private void resetData(Map dataMap) { // 初始化基本参数 dataMap.put("wordname", true); dataMap.put("user", "userName"); dataMap.put("password", "56fdh6ror8"); dataMap.put("wordDescription", "本文档供开发人员和测试人员参考。调用服务请求时,需要先传递开发者编号和开发者密钥,系统会先对编号和密钥解析验证,如果不通过,不会继续处理信息。"); // 初始化项目列表 Map wordList = new LinkedHashMap<>(); for (int i = 0; i < 10; i++) { Map item = new HashMap<>(); item.put("para", i); item.put("type", "内容" + i); item.put("empty", "否"); wordList.put("item" + i, item); } dataMap.put("wordList", wordList); }}
模板文件位置
模板文件和方法所在类的位置为:
图片描述:图片显示模板文件位置
代码解释
Configuration
:创建Freemarker配置对象,指定模板版本和编码。Template
:加载已有的模板文件。dataMap
:用于存储模板参数,包括用户信息、描述和项目列表等。resetData
:初始化数据,包括基本参数和项目列表。process
:将模板参数替换到生成的Word文档中。
通过以上步骤,可以实现通过Freemarker模板生成Word文档的功能。
发表评论
最新留言
不错!
[***.144.177.141]2025年04月14日 12时26分07秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
多线程基础部分
2019-03-21
Java学习记录之ArrayList集合
2019-03-21
PHP之配置开发环境
2019-03-21
Shiro 的身份认证
2019-03-21
Spring装配Bean ---环境相关的bean
2019-03-21
什么是信道编码?信道编码比较
2019-03-21
wordpress架站踩坑过程
2019-03-21
一个简单的游戏框架[汇总]
2019-03-21
GCC编译选项详解
2019-03-21
NSNotification、delegate和KVO的区别
2019-03-21
【动态规划】leetcode-1706.球会落何处
2019-03-21
Rhino简介
2019-03-21
防止用户重复提交表单的处理方法
2019-03-21
JS代码执行顺序
2019-03-21
免费好用的证件扫描仪-扫描全能王
2019-03-21
自定义拦截器
2019-03-21
自定义拦截器
2019-03-21
Eclipse 代码规范配置
2019-03-21
Kafka Producer机制优化-提高发送消息可靠性
2019-03-21
面试题5:(事务管理) ACID 是什么?
2019-03-21