欢迎来到天天文库
浏览记录
ID:47069820
大小:52.02 KB
页数:6页
时间:2019-07-14
《用Freemarker生成word文档》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、用Freemarker生成word文档1. 用word写一个需要导出的word模板,然后存为xml格式。2. 将xml中需要动态修改内容的地方,换成freemarker的标识符,例如:
2、${year}年度工作报告3. 用代码生成: importfreemarker.template.Configuration;importfreemarker.template.Template;importjava.io.*;importjava.util.HashMap;importjava.util.Map;/***@Classname:CreateDoc*
3、hortdescriptiononthepurposeoftheprogram.*@author:youfeng*@modified:8/29/11*/publicclassCreateDoc{privateConfigurationconfiguration=null;publicCreateDoc(){configuration=newConfiguration();configuration.setDefaultEncoding("utf-8");}publicvoidcreate()throwsException{M
4、apmap=newHashMap();map.put("date","2011");map.put("modifyDate","2011/8/29");map.put("modifyUser","ZhuYouFeng");configuration.setClassForTemplateLoading(this.getClass(),"/docTemplate/");Templatet=configuration.getTemplate("doc1.ftl");Fi
5、leoutFile=newFile("D:/outFile.doc");Writerout=newBufferedWriter(newOutputStreamWriter(newFileOutputStream(outFile)));t.process(map,out);}publicstaticvoidmain(String[]args)throwsException{newCreateDoc().create();}} 添加图片如果你需要在word中添加图片,那你就在第一步制作模板时,加入一张图片占位,然后打开xml文档
6、,可以看到如下的一片base64编码后的代码:1 iVBORw0…(很省略很省略)…CC只要将base64的代码替换成例如:${image},如下:1 ${image}这里要注意“>${image}<”这尖括号中间不能加任何其他的
7、诸如空格,tab,换行等符号。然后用代码生成: importfreemarker.template.Configuration;importfreemarker.template.Template;importsun.misc.BASE64Encoder;importjava.io.*;importjava.util.HashMap;importjava.util.Map;/***@Classname:CreateDoc*@author:youfeng*@modified:8/29/11*/publicclassCreate
8、DocWithImage{privateConfigurationconfiguration=null;publicCreateDocWithImage(){configuration=newConfiguration();configuration.setDefaultEncoding(
此文档下载收益归作者所有