Java 动态生成复杂 Word
来源:互联网 发布:linux交叉编译工具链 编辑:程序博客网 时间:2024/06/05 09:04
FreeMarker是一个用Java语言编写的模板引擎
1. 制作 Word 模版,将你需要动态生成的字段用${}替换。如:${name}、${age};
为防止xml转ftl格式错误,建议暂时不替换 如现在的:单位、服务、时间。
2、 将 Word文档保存为 xml。
3、然后借助文件编辑器:EditPlus
将需要动态生成的文字改为 ${ }格式
如:服务 改为 ${fuwu} ,
将 xml 文件更改后缀名 为 .ftl,
src目录下的flows/test.ftl
4、实现代码:
package com.gxkj.serve.controller;import java.io.BufferedWriter;import java.io.File;import java.io.FileOutputStream;import java.io.OutputStreamWriter;import java.io.Writer;import java.util.HashMap;import java.util.Map;import freemarker.template.Configuration;import freemarker.template.Template;public class Print {private Configuration configuration = null;public Print() {configuration = new Configuration();configuration.setDefaultEncoding("UTF-8");}public void createWord() {try {configuration.setClassForTemplateLoading(this.getClass(), "/flows");Template template = configuration.getTemplate("test.ftl");Map<Object, Object> map = new HashMap<Object, Object>();map.put("fuwu", "数据存储服务");map.put("unit", "市人社局");// 获取单位名称map.put("time", "2017-03-31");File outFile = new File("D:/test.doc");Writer out = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(outFile), "UTF-8"));template.process(map, out);out.close();} catch (Exception e) {e.printStackTrace();}}public static void main(String[] args) {Print p = new Print();p.createWord();}}
项目·结构:
关键是test.ftl存放的位置,我放在src目录下的路径flows/test.ftl
代码写在src任意包下皆可
成果:
需要用到的jar包:freemarker-2.3.8.jar
百度云jar:链接: http://pan.baidu.com/s/1pKF163L 密码:9e0a
0 0
- Java动态生成复杂word
- Java 动态生成复杂 Word
- Java 动态生成复杂 Word
- 完美解决方案:Java生成复杂Word文档
- 完美解决方案:Java生成复杂Word文档
- Java生成复杂word/pdf解决方案
- 完美解决方案:Java生成复杂Word文档
- Java html转word,用freemark生成复杂word格式
- 动态Word生成与java
- java 生成动态word文档
- Java 动态生成 复杂 .doc文件
- 如何能让Java生成复杂Word文档
- Java生成复杂Word文档的完美解决方案
- 如何让java生成复杂的Word文档
- Java生成复杂Word文档的完美解决方案
- 如何能让Java生成复杂Word文档
- java生成复杂word文档的完美解决方案
- java生成复杂word文档的完美解决方案
- SIP SDP Profile-level-id解析
- 二叉树资料
- Htop 在 RedHatEnterpriseLinux 4 上的安装
- Java程序编译 以及 基本类型
- hrbust1003 Tiles of Tetris, NOT!
- Java 动态生成复杂 Word
- JAVA单例模式
- CocoaPods的安装以及遇到的坑
- 如何自定义view布局,然后添加到LinearLayout中
- jmeter中的java请求 用httpclient写的http请求 及参数化
- JSP生命周期
- cpu 拓补结构
- Android代码优化的10条小建议
- 某云RDS数据库本地恢复--服务器重启数据库打开丢失问题--亲验