最近正在用freemarker写一些小玩意儿,突然想到那么是不是可以用它来生成万恶的excel和world呢?在网上找了找,还真有人这么干过,而且干成功了。索性我也来试试。
按照惯例还是来个helloworld吧。
1)新建一个word,我用的是word 2010.在里面写个name。
2)将它另存为world 2003 XML文档。
3)将它拷贝到eclipse中,打开然后对他format一下,生成个好看点的格式。然后命名为testw.vm
4)将刚才的name 替换为${name}。
5) 用freemarker 处理该模板。源码如下:
// 要填入模本的数据文件
Map<String, Object> dataMap = new HashMap<String, Object>();
Configuration configuration = new Configuration();
configuration.setDirectoryForTemplateLoading(new File("resources/"));
configuration.setDefaultEncoding("UTF-8");//这里很重要
dataMap.put("name", "goddy");
dataMap.put("age", "11");
Template t = null;
try {
// test.ftl为要装载的模板
t = configuration.getTemplate("teste.vm");
} catch (IOException e) {
e.printStackTrace();
}
// 输出文档路径及名称
File outFile = new File("D:/outFile.doc");
Writer out = null;
out = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(
outFile), "UTF-8"));//这里很重要
t.process(dataMap, out);
6)将源码贴到java过程中,将模板(testw.vm)拷贝到resources目录下(和src目录平级)。运行一把就可以看到在D盘看到outFile.doc文件了。打开一看,果然没有问题。如果出现该word文件打不开的情况就要注意,另存为的应该是2003版的xml,然后编码应该都是UTF-8,生成的应该是doc结尾的文档。
7)生成excel和word一样,需要注意的就是选择2003版的xml,生成的文件为xls格式的文档,其他的和生成world的一样即可。
按照这几个步骤就应该能生成基本的文档了,有了helloworld其他的应该都不是问题了~~~
分享到:
相关推荐
4. FreeMarker生成Word和Excel: 对于生成Word(.doc或.docx)和Excel(.xls或.xlsx)文档,FreeMarker不能直接操作,因为它们不是纯文本格式。通常,我们需要借助第三方库,如Apache POI,先将FreeMarker模板转换...
Springboot项目中: 1. 使用Apache POI 3.9 自定义样式导出Excel文件...2. 使用freemarker动态生成word .doc文档(带图片Word以及复杂格式word) 详细说明见个人博客及 github: https://github.com/DuebassLei/excel-poi
总结,之前在网上查到这个资料怎么调试都失败,后来经过反复查找发现是编码问题导致生成word格式错误,已经修正,希望能给大家带来帮助。 效率测试生成100000行数据大概4000毫秒左右 完整程序代码已经上传! 关于...
2. **生成Word**:类似生成Excel,Freemarker同样支持生成Word文档。开发者需要定义一个包含Word文档结构和占位符的模板,然后将Java对象的数据填充到这些占位符中,通过Freemarker的API生成最终的.doc或.docx文件。...
使用freemarker生成word ,并集成struts2 同时生成及下载文档 资料附有Java源代码和自己总结的使用说明及注意事项 大至预览如下: 1、用word编辑好模板 普通字符串替换为 ${string} 表格循环用标签 姓名:${...
可利用foxe_CHS.exe制作word,excel文件模板,利用FreeMarker技术动态生成我们想要的word,excel文档,可用在很多地方,比如,代码自动生成(不需要使用word,excel格式)、设计文档生成、excel报表生成等等,就看你怎么...
Java语言利用POI读取excel文档,利用Freemarker建立word模板(带图片),excel每一行数据生成单个word文档,再利用POI合并成一个word文档(源码); 博客地址:...
4. 使用Freemarker生成XML:通过`Template`类的`process()`方法,将数据模型应用到模板上,生成一个XML字符串。 5. 创建Word文档:使用Apache POI的`XWPFDocument`类实例化一个新的docx文档。 6. 将XML转换为XWPF...
"FreeMarker生成Word文档" FreeMarker是一种基于Java的模板引擎,可以用来生成各种格式的文档,包括Word文档。在这个例子中,我们将使用FreeMarker生成一个Word文档。 依赖项 在POM文件中,我们需要添加FreeMarker...
以上就是FreeMarker与Apache POI结合生成Word文档并插入图片的基本流程。这种组合可以灵活地创建复杂的动态文档,适应各种需求,例如报告生成、批量文档定制等。开发者可以根据具体需求调整模板设计和数据模型,以...
POI读取Word文档比较适合、对于生成文档样式比较难控制,iText操作Excel还可以,对Word的操作功能有限,JACOB操作Word实现复杂,并且无法将服务部署到Linux平台,要求安装office,对于实现固定格式的报表实现困难,...
对于没有使用宏、函数等word、excel,需要按模板动态生成word、excel、html,只需要一个freemarker,先将word、excel、html等另存为**xml**,即可使用模板动态生成文件,目前xlsx是不支持的 4. PdfTemplate 对于不会...
总结来说,Java FreeMarker模板生成Word动态表格是通过结合FreeMarker模板引擎的灵活性和Apache POI的强大功能,来高效地创建和更新包含动态数据的Word文档,尤其适用于需要大量定制和自动化生成的场景。通过理解并...
- 在Java代码中,创建`Document`对象,加载模板,设置字体、字号等样式,然后将数据模型与模板合并,生成Word文档。 3. **导出HTML** - HTML导出是Freemarker最自然的应用场景,因为它的语法和HTML非常接近。你...
本教程将重点讲解如何使用Apache POI库来读取Excel数据,并基于这些数据批量生成Word文档。Apache POI是一个开源项目,它允许Java开发者处理Microsoft Office格式的文件,如Excel(.xlsx或.xls)和Word(.docx)。 ...
- **生成Word**:使用FreeMarker的`Configuration`和`Template`类,将数据模型与模板结合,生成Word文档内容。然后通过Apache POI的`XWPFDocument`或`HWPFDocument`写入到文件。 4. **ImgToWord**: 这可能是一个...
在本实例中,"自写FreeMarker导出数据为EXcel"是利用FreeMarker模板语言和Servlet技术来生成Excel文件,方便地导出数据。下面将详细介绍这个过程以及涉及的相关知识点。 1. **FreeMarker模板引擎**: FreeMarker是...
在Java开发中,FreeMarker被广泛应用于生成Word和PDF文档,尤其是需要根据后台数据自动生成报告或合同等场景。本篇文章将深入讲解如何使用FreeMarker来导出Word和PDF文件,并介绍相关工具类的实现。 首先,我们需要...
4. **生成Word文档**: 使用模板和数据模型生成Word文档。 ```java Writer out = new FileWriter("output.doc"); template.process(dataModel, out); out.close(); ``` 三、转换为.docx 由于Freemarker默认生成...