使用Java freemarker生成word文档
使用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小时内删除。