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

java使用 freemarker 模板生成word文件

2016-08-05 18:48 381 查看
public class 类的名字{
private Configuration configuration = null;
public 类的构造方法() {
configuration = new Configuration();
configuration.setDefaultEncoding("UTF-8");
}
// 要填入模本的数据文件
Map<String, Object> dataMap = new HashMap<String, Object>();
//项目的真实路径
String cxpath = request.getSession().getServletContext().getRealPath("/");
//模板的获得路径
String dir = cxpath+ "具体的位置";
Template t = null;
//模板的名称
String fileName="";
try {
//从什么地方加载freemarker模板文件
configuration.setDirectoryForTemplateLoading(new File(dir));
//设置对象包装器
configuration.setObjectWrapper(new DefaultObjectWrapper());
//设置异常处理器
configuration.setTemplateExceptionHandler(TemplateExceptionHandler.IGNORE_HANDLER);
//定义Template对象
t = configuration.getTemplate(fileName);
} catch (IOException e) {
res = "freemarker模块错误!";
}
}
File folder = new File(地址);
//使用了工具类判断文件夹是否存在
if(!folder.exists()){
folder.mkdir();
}else{
if(folder.isDirectory()){
for(File o:folder.listFiles()){
o.delete();
}
}
}
//        OpenOffice office2pdf = new OpenOffice();
for(int i=0;i<list.size();i++){
// 输出文档路径及名称数据加载
dataMap = (Map)list.get(i);
File outFile = new File(文件地址及名称+".doc");
Writer out = null;
try {
out = new BufferedWriter(new OutputStreamWriter(
new FileOutputStream(outFile),"utf-8"));
} catch (Exception e1) {
e1.printStackTrace();
}
try {//数据导入
t.process(dataMap, out);
out.close();
} catch (TemplateException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: