-
大小: 881KB文件類型: .rar金幣: 2下載: 0 次發布日期: 2021-05-14
- 語言: Java
- 標簽: freemarker??
資源簡介
Java用freemarker導出word例子詳見我的博客

代碼片段和文件信息
package?com.havenliu.document;
import?java.io.BufferedWriter;
import?java.io.File;
import?java.io.FileNotFoundException;
import?java.io.FileOutputStream;
import?java.io.IOException;
import?java.io.OutputStreamWriter;
import?java.io.Writer;
import?java.util.ArrayList;
import?java.util.HashMap;
import?java.util.List;
import?java.util.Map;
import?freemarker.template.Configuration;
import?freemarker.template.Template;
import?freemarker.template.TemplateException;
public?class?DocumentHandler?{
private?Configuration?configuration?=?null;
public?DocumentHandler()?{
configuration?=?new?Configuration();
configuration.setDefaultEncoding(“utf-8“);
}
public?void?createDoc()?{
//要填入模本的數據文件
Mapject>?dataMap=new?HashMapject>();
getData(dataMap);
//設置模本裝置方法和路徑FreeMarker支持多種模板裝載方法。可以重servlet,classpath,數據庫裝載,
//這里我們的模板是放在com.havenliu.document.template包下面
configuration.setClassForTemplateLoading(this.getClass()?“/com/havenliu/document/template“);
Template?t=null;
try?{
//test.ftl為要裝載的模板
t?=?configuration.getTemplate(“test.ftl“);
}?catch?(IOException?e)?{
e.printStackTrace();
}
//輸出文檔路徑及名稱
File?outFile?=?new?File(“D:/outFile.doc“);
Writer?out?=?null;
try?{
out?=?new?BufferedWriter(new?OutputStreamWriter(new?FileOutputStream(outFile)));
}?catch?(FileNotFoundException?e1)?{
e1.printStackTrace();
}
?
????????try?{
t.process(dataMap?out);
}?catch?(TemplateException?e)?{
e.printStackTrace();
}?catch?(IOException?e)?{
e.printStackTrace();
}
}
/**
?*?注意dataMap里存放的數據Key值要與模板中的參數相對應
?*?@param?dataMap
?*/
?private?void?getData(Mapject>?dataMap)
??{
??dataMap.put(“author“?“張三“);
??dataMap.put(“remark“?“這是測試備注信息“);
??List?_table1=new?ArrayList();
??
??Table1?t1=new?Table1();
??t1.setDate(“2010-10-1“);
??t1.setText(“制定10月開發計劃內容。“);
??_table1.add(t1);
??
??Table1?t2=new?Table1();
??t2.setDate(“2010-10-2“);
??t2.setText(“開會討論開發計劃“);
??_table1.add(t2);
??
??dataMap.put(“table1“?_table1);
??
??
??List?_table2=new?ArrayList();
??for(int?i=0;i<5;i++)
??{
??Table2?_t2=new?Table2();
??_t2.setDetail(“測試開發計劃“+i);
??_t2.setPerson(“張三——“+i);
??_t2.setBegindate(“2010-10-1“);
??_t2.setFinishdate(“2010-10-31“);
??_t2.setRemark(“備注信息“);
??_table2.add(_t2);
??}
??dataMap.put(“table2“?_table2);
??
??}
}
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件????????320??2014-05-19?14:05??Document\.classpath
?????文件????????384??2010-10-22?18:47??Document\.project
?????文件?????????57??2014-05-19?14:06??Document\.settings\org.eclipse.core.resources.prefs
?????文件???????3757??2014-05-20?10:45??Document\bin\com\havenliu\document\DocumentHandler.class
?????文件???????4148??2014-05-20?10:47??Document\bin\com\havenliu\document\Main.class
?????文件???????2474??2014-05-20?10:46??Document\bin\com\havenliu\document\MDoc.class
?????文件???????5599??2014-05-20?10:45??Document\bin\com\havenliu\document\MyTest.class
?????文件????????719??2014-05-20?10:45??Document\bin\com\havenliu\document\Table1.class
?????文件???????1316??2014-05-20?10:45??Document\bin\com\havenliu\document\Table2.class
?????文件??????69906??2014-05-19?20:45??Document\bin\com\havenliu\document\template\fctestpaper.ftl
?????文件??????44435??2014-05-19?15:11??Document\bin\com\havenliu\document\template\mytest.ftl
?????文件??????69833??2014-05-19?20:05??Document\bin\com\havenliu\document\template\mytestpaper.ftl
?????文件??????36778??2010-10-22?19:38??Document\bin\com\havenliu\document\template\test.ftl
?????文件??????42914??2014-05-19?20:32??Document\bin\com\havenliu\document\template\testpapertmp.ftl
?????文件?????870292??2014-05-19?14:05??Document\lib\freemarker-2.3.13.jar
?????文件???????2787??2014-05-19?14:07??Document\src\com\havenliu\document\DocumentHandler.java
?????文件???????3932??2014-05-20?10:47??Document\src\com\havenliu\document\Main.java
?????文件???????2160??2014-05-20?10:46??Document\src\com\havenliu\document\MDoc.java
?????文件???????6266??2014-05-19?21:32??Document\src\com\havenliu\document\MyTest.java
?????文件????????331??2010-10-22?19:10??Document\src\com\havenliu\document\Table1.java
?????文件????????849??2010-10-22?19:39??Document\src\com\havenliu\document\Table2.java
?????文件??????69906??2014-05-19?20:45??Document\src\com\havenliu\document\template\fctestpaper.ftl
?????文件??????44435??2014-05-19?15:11??Document\src\com\havenliu\document\template\mytest.ftl
?????文件??????69833??2014-05-19?20:05??Document\src\com\havenliu\document\template\mytestpaper.ftl
?????文件??????36778??2010-10-22?19:38??Document\src\com\havenliu\document\template\test.ftl
?????文件??????42914??2014-05-19?16:18??Document\src\com\havenliu\document\template\testpapertmp?-?副本.ftl
?????文件??????42914??2014-05-19?20:32??Document\src\com\havenliu\document\template\testpapertmp.ftl
?????目錄??????????0??2014-05-20?10:45??Document\bin\com\havenliu\document\template
?????目錄??????????0??2014-05-19?20:45??Document\src\com\havenliu\document\template
?????目錄??????????0??2014-05-20?10:45??Document\bin\com\havenliu\document
............此處省略17個文件信息
- 上一篇:Java 解析http請求處理結果
- 下一篇:json.jar json.jar
評論
共有 條評論