凉风有信,秋月无边。
亏我思娇的情绪好比度日如年。

freemarker导出word文档,怎么写?

《freemarker导出word文档,怎么写?》正文开始,本次阅读大概3分钟。

将要导出的Word另存为xml格式的文件,打开xml 在其中添加freemarker标签,然后另存为outChairDoc.ftl文件.

第一步要加入Freemarker.jar包。

Servlet代码如下:在outChairDoc.ftl放在包cn.skyclass.jiaowu.freemarker.template下

public void doGet(HttpServletRequest request, HttpServletResponse response)

throws ServletException, IOException {

configuration = new Configuration();

configuration.setDefaultEncoding("utf-8");

try {

createDoc(response);

} catch (Exception e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

}

public void createDoc(HttpServletResponse response) throws Exception {

// 要填入模本的数据文件

Map dataMap = new HashMap();

dataMap.put("docTitle", "fdfdfdfdfdfdf用户信息");

List list = new ArrayList();

ChairInfo chairInfo = new ChairInfo();

chairInfo.setChairTitle("dfdfd");

chairInfo.setTeacherName("tea");

chairInfo.setStartTime(new Date());

chairInfo.setPlace("dfdfd");

list.add(chairInfo);

dataMap.put("chairInfoList", list);

// 设置模本装置方法和路径,FreeMarker支持多种模板装载方法。可以重servlet,classpath,数据库装载,

// 这里我们的模板是放在com.havenliu.document.template包下面

configuration.setClassForTemplateLoading(this.getClass(),

"/cn/skyclass/jiaowu/freemarker/template");

Template t = null;

try {

// test.ftl为要装载的模板

t = configuration.getTemplate("outChairDoc.ftl");

t.setEncoding("utf-8");

} catch (IOException e) {

e.printStackTrace();

}

// 输出文档路径及名称

String fileName="讲座列表.doc";

response.setContentType("application/msword");

response.addHeader("Content-Disposition", "attachment; filename=" + java.net.URLEncoder.encode(fileName, "UTF-8"));//可防止导出的文件乱码

response.setCharacterEncoding("utf-8");

PrintWriter out = response.getWriter();

t.process(dataMap, out);

out.close();

}

赞(207)
【声明】:本博客不参与任何交易,也非中介,仅记录个人感兴趣的内容,内容均不作直接、间接、法定、约定的保证。访问本博客请务必遵守有关互联网的相关法律、规定与规则。一旦您访问本博客,即表示您已经知晓并接受了此声明通告。本博客资源仅供个人学习交流,请于下载后24小时内删除,不允许用于商业用途,否则法律问题自行承担。如果本文导致的版权问题以及内容纠错问题请联系站长QQ:1004619 | 点此给我发送邮件
本文标题:freemarker导出word文档,怎么写?
本文地址:https://www.1004619.com/nn/freemarkerdcwordwdzmx.html