• 大小: 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个文件信息

评论

共有 条评论