借助freemarker实现word模板复制功能
业务场景
导出所有报名用户的报名表,每个用户报名单在word文档中单独一页,方便打印。
报名单模板如下:
需求:一份word文档,包含所有用户的报名单,每个用户单独一页。
实现思路
将报名单内容设置成模板,其中需求提到每个用户要单独一页,所以在模板的后面加上换页效果
一份word文档里
业务场景
导出所有报名用户的报名表,每个用户报名单在word文档中单独一页,方便打印。
报名单模板如下:
需求:一份word文档,包含所有用户的报名单,每个用户单独一页。
实现思路
- 将报名单内容设置成模板,其中需求提到每个用户要单独一页,所以在模板的后面加上换页效果
- 一份word文档里面要包含多个用户报名信息,所以模板要重复使用,只是替换用户信息
- 将word模板转成xml文件,获取内容信息的模板格式
- 将xml转成ftl格式,支持el表达式,支持循环,很好的实现需求
具体实现
- 用工具(word/wps)创建好模板的word文档
- 将word文档另存为XML文件,命名为apply.xml,打开xml文件,如果是压缩后的XML内容,直接在网上将其格式化,方便阅读和修改
- 将XML中需要替换的内容使用EL表达式代替,如:${name}。PS:可以在创建模板时直接使用EL表达式,但是注意在转换成XML的时候可能会存在某些意外,如果不熟悉使用。
- 业务需要多个报名单,每份报名单格式都是一样的,所以在XML内容的一开始就加上循环遍历的代码:<#list recordList as record>…..
部分XML内容
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<?mso-application prog?>
<w:wordDocument xmlns:aml="http:///aml/2001/core"
xmlns:dt="uuid:C2F41010-65B-11d1-A29F-00AA00C14882"
xmlns:o="urn:schemas-microsoft-com:office:office"
xmlns:v="urn:schemas-microsoft-com:vml"
xmlns:w10="urn:schemas-microsoft-com:office:word"
xmlns:w="http:///office/word/200/wordml"
xmlns:wx="http:///office/word/200/auxHint"
xmlns:wsp="http:///office/word/200/wordml/sp2"
xmlns:sl="http:///schemaLibrary/200/core"
w:macrosPresent="no" w:embeddedObjPresent="no" w:ocxPresent="no"
xml:space="preserve">
<w:body>
<#list recordList as record>
...... 此处省略部分内容
#感谢您对电脑配置推荐网 - 最新i3 i5 i7组装电脑配置单推荐报价格的认可,转载请说明来源于"电脑配置推荐网 - 最新i3 i5 i7组装电脑配置单推荐报价格
上传时间: 2025-07-15 10:27:11
推荐阅读
留言与评论(共有 13 条评论) |
本站网友 理财魔方 | 30分钟前 发表 |
office" xmlns | |
本站网友 宁乡二手房网 | 21分钟前 发表 |
但是注意在转换成XML的时候可能会存在某些意外 | |
本站网友 秃鸡散 | 19分钟前 发表 |
只是替换用户信息 将word模板转成xml文件 | |
本站网友 中国十大家族 | 2分钟前 发表 |
C2F41010-65B-11d1-A29F-00AA00C14882" xmlns | |
本站网友 鹅蛋营养 | 20分钟前 发表 |
///schemaLibrary/200/core" w | |
本站网友 廊坊装修公司 | 15分钟前 发表 |
schemas-microsoft-com | |
本站网友 刻录盘 | 30分钟前 发表 |
///office/word/200/wordml" xmlns | |
本站网友 泡泡糖怎么洗 | 25分钟前 发表 |
space="preserve"> <w | |
本站网友 田园美居 | 12分钟前 发表 |
wx="http | |
本站网友 天门酒店 | 0秒前 发表 |
///aml/2001/core" xmlns | |
本站网友 touch99 | 30分钟前 发表 |
方便打印 | |
本站网友 酚磺乙胺 | 17分钟前 发表 |
sl="http |