技术的语言最真诚!
java生成word文档,自己找过很多方法,最后觉得freemarker最为简单,现在写一下简单的word文档的生成!
1,准备工作:
1.1 写好要生成的word文档模板。
1.2然后另存为test.xml
1.3 打开刚才存好的xml文件,替换件中的zlx-->${user},riqi-->${date},title-->${title!}(!表示可以不传数据)......等等.
2 java代码(导入 freemarker-2.3.19.jar)
package freemarker;
import java.io.File;
import java.io.FileOutputStream;
import java.io.OutputStreamWriter;
import java.io.Writer;
import java.util.Date;
import java.util.HashMap;
import java.util.Map;
import freemarker.template.Configuration;
import freemarker.template.Template;
public class Demo1 {
public static void main(String[] args) throws Exception {
Configuration cfg = new Configuration();
cfg.setDefaultEncoding("utf-8");
cfg.setDirectoryForTemplateLoading(new File("templates")); //templates 在自己的项目下创建 templates文件夹
//创建数据模型
Map root = new HashMap();
root.put("user","zlx");//user 和${user} 保持一致
root.put("date",new Date());
root.put("title","freemarker");
root.put("content","sccontent");
root.put("author","zlx");
//加载模板文件
Template t1 = cfg.getTemplate("test.xml");
//显示生成的数据
Writer out = new OutputStreamWriter(new FileOutputStream(new File("D:\\access2.doc")),"utf-8");
t1.process(root, out);
out.flush();
out.close();
}
}