<html>
<head>
<title>Java Freemarker生成word</title>
</head>
<body>
Java Freemarker<span style="font-family:宋体">生成</span><span style="font-family:Calibri">word</span>
<h2>freeMaker <span style="font-family:黑体">简介:</span></h2>
<p>FreeMarker<span style="font-family:宋体">是一款模板引擎: 即一种基于模板和要改变的数据,</span> 并用来生成输出文本(<span style="font-family:Calibri">HTML</span><span style="font-family:宋体">网页、电子邮件、配置文件、源代码等)的通用工具。它不是面向最终用户的,而是一个</span><span style="font-family:Calibri">Java</span><span style="font-family:宋体">类库,是一款程序员可以嵌入他们所开发产品的组件。</span></p>
<p> </p>
<p>FreeMarker<span style="font-family:宋体">是免费的,基于</span><span style="font-family:Calibri">Apache</span><span style="font-family:宋体">许可证</span><span style="font-family:Calibri">2.0</span><span style="font-family:宋体">版本发布。其模板编写为</span><span style="font-family:Calibri">FreeMarker Template Language</span><span style="font-family:宋体">(</span><span style="font-family:Calibri">FTL</span><span style="font-family:宋体">),属于简单、专用的语言。需要准备数据在真实编程语言中来显示,比如数据库查询和业务运算,</span>
之后模板显示已经准备好的数据。在模板中,主要用于如何展现数据, 而在模板之外注意于要展示什么数据。</p>
<h2>freeMaker<span style="font-family:黑体">使用:</span></h2>
<p>FreeMarker 常用语法:<a target="_blank" href="http://www.cnblogs.com/duke-cui/articles/5560257.html">http://www.cnblogs.com/duke-cui/articles/5560257.html</a></p>
<h3>1、下载 <span style="font-family:Calibri">freemarker.jar</span></h3>
<p>下载链接:<a target="_blank" href="http://freemarker.org/freemarkerdownload.html">http://freemarker.org/freemarkerdownload.html</a></p>
<p> <img src="http://images2015.cnblogs.com/blog/789947/201607/789947-20160729062816966-718177453.png" alt="" width="940" height="358"></p>
<p><img src="http://images2015.cnblogs.com/blog/789947/201607/789947-20160729062858934-1206373426.png" alt="" width="943" height="398"></p>
<h3>2<span style="font-family:宋体">、在工程中引入</span><span style="font-family:Calibri">freemarker.jar</span><span style="font-family:宋体">,</span><span style="font-family:Calibri">java</span><span style="font-family:宋体">工程,</span><span style="font-family:Calibri">web</span><span style="font-family:宋体">工程均可。</span></h3>
<h3>3<span style="font-family:宋体">、创建</span><span style="font-family:Calibri">word</span><span style="font-family:宋体">文档模板</span></h3>
<p>1<span style="font-family:宋体">、新建</span><span style="font-family:Calibri">word</span><span style="font-family:宋体">文档,调整文档样式</span></p>
<p>2<span style="font-family:宋体">、将</span><span style="font-family:Calibri">word</span><span style="font-family:宋体">文档另存为 </span><span style="font-family:Calibri">xml </span><span style="font-family:宋体">文件。</span></p>
<p>3<span style="font-family:宋体">、使用 </span>freemarker 指令替换<span style="font-family:Calibri">xml </span><span style="font-family:宋体">的文本,或图片。</span></p>
<p>4<span style="font-family:宋体">、将</span><span style="font-family:Calibri">xml </span><span style="font-family:宋体">文件改名为 </span><span style="font-family:Calibri">xxx.ftl</span><span style="font-family:宋体">。</span></p>
<h3>4<span style="font-family:宋体">、使用</span>word<span style="font-family:宋体">文档模板</span>生成 word <span style="font-family:宋体">文件</span></h3>
<p>1<span style="font-family:宋体">、创建 </span><span style="font-family:Calibri">FreekMark </span><span style="font-family:宋体">工具类,可以参考</span></p>
<p class="p"><a target="_blank" href="http://files.cnblogs.com/files/duke-cui/FreeMarkerUtil.rar">http://files.cnblogs.com/files/duke-cui/FreeMarkerUtil.rar</a></p>
<p class="p">2、将 ftl <span style="font-family:宋体">模板放至 </span>FreekMark <span style="font-family:宋体">类</span>所在目录,或子目录。</p>
<p class="p">3、使用FreekMark 输出<span style="font-family:Calibri">word</span><span style="font-family:宋体">文档。</span></p>
<p class="p">输出文本文件:</p>
<p> <img src="http://images2015.cnblogs.com/blog/789947/201607/789947-20160729062929997-1979719324.png" alt=""></p>
<p>输出图片文件:(需要将图片转为Base64码输出)</p>
<p><img src="http://images2015.cnblogs.com/blog/789947/201607/789947-20160729062946294-763688833.png" alt=""></p>
<p>获取模板文件生成的字符串:</p>
<p>// 获取通过 模板生成的字符串, 二个参数 map为数据模型,111.ftl为模板名称</p>
<p>util.getContent(map, "111.ftl");</p>
<p> </p>
<p>测试java 工程路径:</p>
<p><a target="_blank" href="http://files.cnblogs.com/files/duke-cui/TestFreeMark.rar">http://files.cnblogs.com/files/duke-cui/TestFreeMark.rar</a></p>
</body>
</html>
Java Freemarker生成word.html