色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

freemarker導出word文檔,怎么寫?

林子帆2年前12瀏覽0評論

將要導出的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支持多種模板裝載方法??梢灾豷ervlet,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();

}