以前导出文档一直使用poi技术,这个项目使用freemarker技术,然后看了一下,发现比poi简单多了。于是发表一下。
FreeMarker是一款模板引擎: 即一种基于模板和要改变的数据, 并用来生成输出文本(HTML网页、电子邮件、配置文件、源代码等)的通用工具。 它不是面向最终用户的,而是一个Java类库,是一款程序员可以嵌入他们所开发产品的组件。
首先,把你要导出的word文档另存为xml格式,然后使用记事本将它打开,将动态生成的代码用el表达式(jstl标签)替换。
示例如下:
word文档
姓名:aaa
性别:bbb
另存为xml后打开,修改如下
</pre><br /><p style="margin-top: 5px; margin-bottom: 5px; font-family: sans-serif; font-size: 16px;"><span style="color: rgb(51, 51, 51); font-family: 微软雅黑, 'Microsoft YaHei'; line-height: 24px; text-indent: 28px;"><br /></span><br /></p><p style="margin-top: 5px; margin-bottom: 5px; font-family: sans-serif; font-size: 16px;"><span style="font-family: 微软雅黑;">用${name}和${sex}代替aaa和bbb。然后在后台编写java代码。</span></p><pre class="brush:java;toolbar:false" style="margin-top: 0.5em; margin-bottom: 0.5em; padding: 0.4em 0.6em; border-radius: 8px; font-size: 16px; background: rgb(248, 248, 248);"><pre name="code" class="java">
运行main方法就可以导出word文档了。代码见附件
我的xml文档是复制的片段,所以可能不能使用,如果有使用的人,还是自己另存为一下。
这个博客不能复制图片让我很是为难啊,还是 我不会复制。复制的都是空白的。
Excel方法也差不多。