Java Freemarker生成word
Java Freemarker生成word
freeMaker 简介:
FreeMarker是一款模板引擎: 即一种基于模板和要改变的数据, 并用来生成输出文本(HTML网页、电子邮件、配置文件、源代码等)的通用工具。它不是面向最终用户的,而是一个Java类库,是一款程序员可以嵌入他们所开发产品的组件。
FreeMarker是免费的,基于Apache许可证2.0版本发布。其模板编写为FreeMarker Template Language(FTL),属于简单、专用的语言。需要准备数据在真实编程语言中来显示,比如数据库查询和业务运算,
之后模板显示已经准备好的数据。在模板中,主要用于如何展现数据, 而在模板之外注意于要展示什么数据。
freeMaker使用:
FreeMarker 常用语法:http://www.cnblogs.com/duke-cui/articles/5560257.html
1、下载 freemarker.jar
下载链接:http://freemarker.org/freemarkerdownload.html


2、在工程中引入freemarker.jar,java工程,web工程均可。
3、创建word文档模板
1、新建word文档,调整文档样式
2、将word文档另存为 xml 文件。
3、使用 freemarker 指令替换xml 的文本,或图片。
4、将xml 文件改名为 xxx.ftl。
4、使用word文档模板生成 word 文件
1、创建 FreekMark 工具类,可以参考
http://files.cnblogs.com/files/duke-cui/FreeMarkerUtil.rar
2、将 ftl 模板放至 FreekMark 类所在目录,或子目录。
3、使用FreekMark 输出word文档。
输出文本文件:

输出图片文件:(需要将图片转为Base64码输出)

获取模板文件生成的字符串:
// 获取通过 模板生成的字符串, 二个参数 map为数据模型,111.ftl为模板名称
util.getContent(map, "111.ftl");
测试java 工程路径:
http://files.cnblogs.com/files/duke-cui/TestFreeMark.rar
Java Freemarker生成word的更多相关文章
- Java Web项目中使用Freemarker生成Word文档遇到的问题
这段时间项目中使用了freemarker生成word文档.在项目中遇到了几个问题,在这里记录一下.首先就是关于遍历遇到的坑.整行整行的遍历是很简单的,只需要在整行的<w:tr></w ...
- freemarker生成word,表格分页
在做项目的过程中,使用到了freemarker生成word.又有一个需求,明细的要确定有多少页,这就用到了换页的xml标签了,找了我好久 <w:p ><w:r><w:br ...
- 使用freemarker生成word、html时图片显示问题
使用freemarker生成word.html时图片显示问题 博客分类: Java 使用freemarker生成word时图片显示问题使用freemarker生成html时图片显示问题使用iText生 ...
- FreeMarker生成word
FreeMarker生成word数据填充是通过,Map填充. Map dataMap = new HashMap<String, Object>(); List<User> l ...
- Java Web项目中使用Freemarker生成Word文档
Web项目中生成Word文档的操作屡见不鲜.基于Java的解决方式也是非常多的,包含使用Jacob.Apache POI.Java2Word.iText等各种方式,事实上在从Office 2003開始 ...
- java使用freemarker 生成word文档
java 生成word文档 最近需要做一个导出word的功能, 在网上搜了下, 有用POI,JXL,iText等jar生成一个word文件然后将数据写到该文件中,API非常繁琐而且拼出来的 ...
- 使用freemarker生成word,步骤详解并奉上源代码
1. 步骤 1. 用word编辑好模板 1. 普通字符串替换为 ${string} 2. 表格循环用标签 <#list userList as user> 姓名:${user.u ...
- FreeMarker生成word的代码
用于生成word用的freemarker工具类 package com.ucap.netcheck.utils; import java.io.File; import java.io.File ...
- springboot中使用freemarker生成word文档并打包成zip下载(简历)
一.设计出的简历模板图以及给的简历小图标切图 二.按照简历模板图新建简历word文件 :${字段名},同时将图片插入到word中,并将建好的word文件另存为xml文件: 三.直 ...
随机推荐
- Linux 学习 (五) DNS配置
没有配置DNS会引起的问题 yum命令 ssh命令等不能进行 错误: Could not resolve host: centos.ustc.edu.cn; 本文例子: CentOS7 下DNS配置 ...
- linux显示文本文件指定行数的数据
sed -n '2,4p' /core/home_info.txt 显示这个txt的2-4行,此外还有 cat /core/home_info.txt | tail -n 1000:显示最后100 ...
- 101、有限状态机的编译c++
Hi Dear 今天是 2017/12/31 跨年之夜,今天白天突然之间兴起,想起来了夏天的时候看的斯坦福cs224d的自然语言处理课程,上面最后讲的语音识别的开源工具Kaldi. 于是便想着来动手试 ...
- Charles重发请求
1.如下图 2.选中某个接口,右键--选择 Repeat Advanced选项,设置请求多次 3.
- Python笔记(十一)_匿名函数与map()、filter()
匿名函数 无需显式定义函数名,和函数过程,使代码更精简的lambda表达式 函数没有命名,不用担心函数名的冲突 冒号前面代表函数的参数,后面表示计算过程 >>>func=lambda ...
- Mr. Panda and Crystal(最短路+完全背包)
http://codeforces.com/gym/101206/attachments 题意: T组输入,每组给出m,n,k,m为能量总数,n为水晶种类数,k为合成方案数.有的水晶可以用能量制造,有 ...
- PAT_A1074#Reversing Linked List
Source: PAT A1074 Reversing Linked List (25 分) Description: Given a constant K and a singly linked l ...
- 【读书笔记】:MIT线性代数(1):Linear Combinations
1. Linear Combination Two linear operations of vectors: Linear combination: 2.Geometric Explaination ...
- [fw]IDT表的初始化
IDT表的初始化 linux内核的中断描述符表IDT是一个全局的数据,在i386平台上被定义为: struct desc_struct idt_table[256] __attribute__((_ ...
- LLppdd likes strings
LLppdd's likes strings! Time Limit: 1 s Memory Limit: 256 MB 题目背景 LLppdd 由于实在是太弱了,在 \(ION 2018\) 模拟十 ...