使用Java freemarker生成word文档(附源码)
实现思路:
先创建一个word文档,按照需求在word中填好一个模板,然后将文档保存为xml文档格式,使用文档编辑器打开这个xml格式的文档(这里直接使用eclipse自带的编辑工具),把对应的数据换成变量${xxx},使用Freemarker读取这个文档然后替换掉变量,输出word文档即可。
具体过程如下:
1 创建word文档,画好模板
2将刚刚创建的word文档另存为xml格式
3 编辑这个xml文档
4 将想要替换的内容改成${xxx}
5 将编辑后的xml放到工程中,并从Freemarker【下载】最新的开发包,将freemarker.jar拷贝到工程中。
好啦,准备工作都完成了,咱开始编码吧!瘗
新建WordUtil类,实现根据word模板生成word文件的方法
package com.word;
import java.io.IOException;
import java.io.Writer;
import java.util.Map;
plate.Configuration;
plate.Template;如何查四级准考证号
public class WordUtil {
private Configuration configuration = null;
public WordUtil() {
try {
协商解除劳动合同 configuration = new Configuration();
configuration.setDefaultEncoding("UTF-8");
} catch (Exception e) {
System.out.Message());
e.printStackTrace();
}
}
private Template getTemplate(String templatePath, String templateName)
throws IOException {
configuration.Class(), templatePath);
Template t = Template(templateName);
t.setEncoding("UTF-8");
女生伤感网名大全 return t;
}
public void write(String templatePath, String templateName,
Map<String, String> dataMap, Writer out) {
try {
Template t = getTemplate(templatePath, templateName);
t.process(dataMap, out);
out.close();
} catch (Exception e) {
System.out.Message());
e.printStackTrace();
}
}
}
Word生成的代码已经OK了,你还等什么?
赶紧调用吧!
package com.word;
空调开26度真的省电吗import java.io.FileOutputStream;
import java.io.OutputStreamWriter;
import java.io.Writer;
import java.util.HashMap;
import java.util.Map;
public class ExportWord {
/**
* @param args
*/
public static void main(String[] args) {
Map<String, String> map = new HashMap<String, String>();
map.put("name", "黑狗");
map.put("age", "123");
WordUtil handler = new WordUtil();
Writer out;
try {
out = new OutputStreamWriter(new FileOutputStream(
"E:\\Study\\测试文件\\testModel.doc"), "UTF-8");//生成文件的保存路径
handler.write("/com/word/templete", "l", map, out);
桃花源记原文 } catch (Exception e) {
e.printStackTrace();
}
}
}
F11执行后看看结果吧O(∩_∩)O~
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论