1、需要下载freemarker相关jar包
在web项目下可以通过以下方式来生成word
package com.jieyuechina.test; import java.io.File; import java.io.FileOutputStream; 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 com.jieyuechina.domain.model.CreditPool; import freemarker.template.Configuration; import freemarker.template.DefaultObjectWrapper; import freemarker.template.Template; import freemarker.template.TemplateExceptionHandler; public class DocumentHandler { private Configuration configuration = null; public DocumentHandler() { configuration = new Configuration(); configuration.setDefaultEncoding("utf-8"); } public void createDoc() { //要填入模本的数据文件 Map<String,Object> dataMap=new HashMap<String,Object>(); getData(dataMap); //设置模本装置方法和路径,FreeMarker支持多种模板装载方法。可以重servlet,classpath,数据库装载, //这里我们的模板是放在com.havenliu.document.template包下面 Configuration configuration = new Configuration(); //加载freemarker模板文件 try { configuration.setDirectoryForTemplateLoading(new File("E:\\javasoft\\Tomcat7.0.27\\Tomcat\\webapps\\jieyuechina\\WEB-INF\\views")); configuration.setDefaultEncoding("utf-8"); //设置对象包装器 configuration.setObjectWrapper(new DefaultObjectWrapper()); //设计异常处理器 configuration.setTemplateExceptionHandler(TemplateExceptionHandler.IGNORE_HANDLER); //获取指定模板文件 Template template = configuration.getTemplate("out.ftl"); //定义输入文件,默认生成在工程根目录 Writer out = new OutputStreamWriter(new FileOutputStream("D:/outFile2.doc"),"UTF-8"); //写入目标文件中 //写的是freemarker 生成模板 template.process(dataMap, out);//写入目标文件 } catch (Exception e2) { // TODO Auto-generated catch block e2.printStackTrace(); } //在main中可以通过这种方式测试 // //configuration.setClassForTemplateLoading(this.getClass(), "/com/jieyuechina/template"); // Template t=null; // try { // //test.ftl为要装载的模板 // t = configuration.getTemplate("word.ftl"); // System.out.println(t); // } 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(Map<String,Object> dataMap) { dataMap.put("num", "861300100100004-001"); dataMap.put("method", "这是测试"); dataMap.put("name", "账单"); List<CreditPool> poos = new ArrayList<CreditPool>(); for (int i = 0; i <10; i++) { CreditPool poo = new CreditPool(); poo.setAgreement("1"); poo.setContractamount(33); poos.add(poo); } dataMap.put("table1", poos); } }
相关推荐
### 使用Freemarker生成Word文档的关键技术点解析 #### 一、引言 在实际工作中,经常需要批量生成带有特定格式或数据填充的Word文档,如报表、合同、通知等。传统的手工创建方法效率低下且易出错。利用Java语言...
在Java应用中,使用FreeMarker导出Word文档可以提供灵活的文本和数据结合的方式,尤其适用于生成报告、合同等复杂格式的文档。本篇将详细介绍如何使用FreeMarker与Java结合来导出包含多张图片的Word文档。 1. **...
`Java用freemarker导出word文档`这个主题涉及到的技术点主要包括Java的Freemarker模板引擎和处理Word文档的相关库。Freemarker是一个强大的、基于模板的生成器,广泛用于Web应用中的动态HTML生成。在这里,它被用来...
- 为了使用FreeMarker生成Word文档,首先可能需要将Word格式转换为XML。这通常通过Apache POI库完成,该库允许对Microsoft Office格式进行读写操作。 - 将Word文档解析为XML后,可以将XML结构映射到FreeMarker模板...
总的来说,这个示例提供了使用Freemarker和JFreechart生成带有动态图表的Word文档的方法。这对于报告生成、数据分析或其他需要可视化的场景非常有用,因为它允许开发者将动态数据与专业设计的文档模板相结合,创建出...
Springboot项目中: 1. 使用Apache POI 3.9 自定义样式导出Excel文件...2. 使用freemarker动态生成word .doc文档(带图片Word以及复杂格式word) 详细说明见个人博客及 github: https://github.com/DuebassLei/excel-poi
在Java开发中,导出Word文档是一项常见的需求,特别是在企业级应用中,如报表生成、合同模板等。这里我们重点讨论使用FreeMarker模板引擎来实现这一功能。FreeMarker是一个强大的、开源的模板语言,它与Java无缝集成...
使用freemarker生成word ,并集成struts2 同时生成及下载文档 资料附有Java源代码和自己总结的使用说明及注意事项 大至预览如下: 1、用word编辑好模板 普通字符串替换为 ${string} 表格循环用标签 姓名:${...
### 使用FreeMarker生成Word文档 1. **配置FreeMarker**:首先,需要在项目中引入FreeMarker的依赖,例如通过Maven或Gradle添加对应的依赖库。然后,配置FreeMarker的环境,包括设置模板目录、缓存策略等。 2. **...
在本教程中,我们将探讨如何利用Freemarker模板来导出Word文档,并实现循环插入图片和表格的功能。这对于需要批量生成定制化报告或者文档的应用场景非常有用。 首先,我们需要了解Freemarker的基本语法。在...
Java 利用 Freemarker 生成 Word.pdf,这个标题告诉我们,我们将使用 Java 语言和 Freemarker 库来生成 Word 文档,并将其导出为 PDF 文件。 描述解释 在描述中,我们可以看到,整个过程可以分为三步:首先,我们...
3. 使用Freemarker生成Word文档 - 创建Freemarker模板:首先,我们需要创建一个`.ftl`文件,定义好Word文档的结构和样式,使用Freemarker语法(例如`${expression}`)来表示需要动态填充的部分。 - 解析XML数据:...
基于Java语言来导出Word文档的方式也有很多种,如Jacob,Apache POI,Freemarker,PageOffice,java2word 等等。。。。 在这里将通过Freemarker这个模板引擎来实现导出 Word,项目不限于Swing,SSH,SSM,Spring ...
在Java中使用Freemarker生成Word文档的过程主要包括以下几个步骤: 1. **环境配置**:首先,你需要在项目中引入必要的库,包括Apache POI用于处理Word文档,以及Freemarker库。在Maven项目中,可以在pom.xml文件中...
在这个示例中,我们将深入探讨如何使用Freemarker根据XML模板生成Word文档。 首先,你需要了解Freemarker的基本概念。Freemarker是一个基于模板的语言,它的核心是模板文件,模板文件中包含了一系列控制结构(如...
本项目“生成WORD freemarker导出WORD”正是这样一个解决方案,它允许开发者使用FreeMarker模板来创建和导出Microsoft Word文件。 首先,我们要理解FreeMarker的工作原理。FreeMarker是一个基于Java的模板语言,它...
最后,使用Apache POI或类似的库,将生成的XML文件转换回Word文档(`.docx`格式)。这个过程通常涉及解析XML,构建Word对象模型,并保存为`.docx`文件。 9. **优化和调试**: 在实际应用中,你可能需要反复调整...
要使用FreeMarker生成Word文档,我们需要借助一个库,如`docx4j`,它可以将FreeMarker模板转换为`.docx`文件。首先,确保在项目中添加了`freemarker`和`docx4j`的依赖。 3. **步骤一:创建FreeMarker模板** 创建...