-
大小: 881KB文件类型: .rar金币: 1下载: 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
评论
共有 条评论