java利用freemarker生成word

java利用freemarker生成word

ID:6031850

大小:225.85 KB

页数:8页

时间:2017-12-31

java利用freemarker生成word_第1页
java利用freemarker生成word_第2页
java利用freemarker生成word_第3页
java利用freemarker生成word_第4页
java利用freemarker生成word_第5页
资源描述:

《java利用freemarker生成word》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、第一步:将事先准备的word文档另存为xml格式第二步:利用foxe_CHS打开xml可以按F8进行排版,找到左侧w:tbl节点,找到需要填充数据的地方,用freemarker标记依次类推,找到所有需要填充数据的地方,用freemarker标记,填充这些位置,不过这样的话,只能针对单行数据显示,要想多行显示数据,标记这个地方还需要做些工作,如上,准备工作也基本做好第三步:开始正式的demo。首先你要有这些:freemarker的开源包,如果没有,可以网上下载一个importfreemarker.template

2、.Configuration;importfreemarker.template.Template;importfreemarker.template.TemplateException;接下来这么做:目录packagecom.test.freemarker.report;importjava.io.BufferedWriter;importjava.io.File;importjava.io.FileOutputStream;importjava.io.IOException;importjava.io.Ou

3、tputStreamWriter;importjava.io.Writer;importjava.util.ArrayList;importjava.util.HashMap;importjava.util.List;importjava.util.Map;importfreemarker.template.Configuration;importfreemarker.template.Template;importfreemarker.template.TemplateException;publicclas

4、sDocumentHandler{privateConfigurationconfiguration=null;publicDocumentHandler(){configuration=newConfiguration();configuration.setDefaultEncoding("utf-8");}publicvoidcreateDoc(){//要填入模本的数据文件MapdataMap=newHashMap();getData(dataMap);//设置模本装置方法和路径,FreeMarker支持多

5、种模板装载方法。可以重servlet,classpath,数据库装载,//这里我们的模板是放在com.havenliu.document.template包下面configuration.setClassForTemplateLoading(this.getClass(),"/com/test/freemarker/report");Templatet=null;try{//test.ftl为要装载的模板t=configuration.getTemplate("test.xml");t.setEncoding(

6、"utf-8");}catch(IOExceptione){e.printStackTrace();}//输出文档路径及名称FileoutFile=newFile("E:/test.doc");Writerout=null;try{out=newBufferedWriter(newOutputStreamWriter(newFileOutputStream(outFile),"utf-8"));}catch(Exceptione1){e1.printStackTrace();}try{t.process(dat

7、aMap,out);out.close();}catch(TemplateExceptione){e.printStackTrace();}catch(IOExceptione){e.printStackTrace();}}/****注意dataMap里存放的数据Key值要与模板中的参数相对应****@paramdataMap**/privatevoidgetData(MapdataMap){dataMap.put("title_name","用户信息2013年6月15日");Listtable2=newArr

8、ayList();for(inti=0;i<5;i++){Table2t=newTable2();t.setUser_name("张三");t.setOrg_name("微软公司");t.setDept_name("事业部");table2.add(t);}dataMap.put("table2",table2);}//测试类publicstaticvoidmain(String[]a

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。