您的位置:首页 > 编程语言 > Java开发

java导出word模板

2016-06-16 20:18 459 查看
项目中,可能会有很多地方需要导出word模板,首先,你需要有模板,然后,模板另存为xml格式。

package com;

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.cache.FileTemplateLoader;
import freemarker.cache.TemplateLoader;
import freemarker.template.Configuration;
import freemarker.template.Template;

public class CreateWord {

public static void main(String[] args) {
Map<String, Object> cont = new HashMap<String, Object>();// 存储数据

Configuration cfg = new Configuration();

TemplateLoader templateLoader = null;

try {
//模板的路径
File fir = new File("W:/test/wswhr/");

//生成文件的路径及文件名。
File outFile = new File("W:/test/wswhr/委托创作合同.doc");

Writer out = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(outFile), "UTF-8"));

// 使用FileTemplateLoader
//制定模板路径
templateLoader = new FileTemplateLoader(fir);//
String tempname = "委托创作合同.xml";

cfg.setTemplateLoader(templateLoader);
Template t = cfg.getTemplate(tempname, "UTF-8");

t.process(cont, out);
out.flush();
out.close();

} catch (Exception e) {
e.printStackTrace();
}
}

}
注意,里面的
cfg.setTemplateLoader(templateLoader);

这一句,是指定模板所在目录。

如果只是运行一些测试类,或者本地main方法可以用这个。

如果是在线上服务器,请用下面的代码来制定模板路径。

//创建配置实例
Configuration configuration = new Configuration();

//设置编码
configuration.setDefaultEncoding("UTF-8");

//ftl模板文件统一放至 com.lun.template 包下面
configuration.setClassForTemplateLoading(WordUtil.class, "/cn/digitalpublishing/templates/");

//获取模板
Template template = configuration.getTemplate(templateName);

这里的,制定模板路径的方法是,setClassForTemplateLoading.
望文生义也知道,根据指定的class文件,去找对应的目录加载模板。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: