Java根据word模板⽣成word⽂档之设计详细思路---word标签
定义
word替换原理:通过顺序查word模板中的特殊字符标记,到⼀个或多个就替换出响应的值,⽽表格的替换或者说⽣成是根据word中表格定义的序列来定位查的,⽐如第⼀个表格的序列就是0,以此类推1,2,3...,所以我们知道了响应的替换查原理之后,就可以开始下⾯的标签定义了。
通过前⾯的XML标签对应,那么word标签也必须和xml相对应。
word模板定义主要包含以下⼏个内容:
⼀是:单个标签的定义,⽐如:在word中某个地⽅,定义⼀个标签,所谓标签就是XML中⾃定义的field中的key,我默认以$开始$结束,
例如:xml标签大全
系统名称: $system_name$
被测单位: $ent_comany_name$
⼆是:表格标签的定义,表格的定义不需要在表格中每列都定⼀个filed,它是通过⾃动匹配的⽅式来查的,所以顺序是必须要正确的。我们只需要定义表格的样式头和内容的样式就可以,通过后台⾃动匹配⽽得到每列的值,并会不断的增加表格的⾏数,同时在后台HashMap 中的Key格式为"table$R@N",以“table”开头,其中:R代表从表格的第R⾏开始替换,N代表word模板中的第N张表格
例如就这样定义好就⾏了:
姓名性别年龄成绩
三是:图⽚标签的定义,其实图⽚的定义和单个标签的定义是⼀样的,只不过是在我们的定义过程中,加了⼀个约束或者说特殊标记,⽐如要在word中某个位⼦插⼊统计图,那么就需要和XML中定义的dataSet的name属性相同,如上⾯定义的统计图dataSet
name="image$zhcjfxldt" 那么我们就需要在这⾥写成image$zhcjfxldt 这样就能匹配上,这个是针对统计图,还有⼀种是直接从数据库中查询出来的,那么这种就直接对应field中的key就⾏了,所以在定义XML的时候,如果你知道那是要展⽰图⽚的,定义成以“image$”开头的,这样也是为了整体的统⼀和后台好解析。
四是:WORD嵌⼊另外⼀个word中的内容:那么word标签的定义标签为: "soword$xx",以“soword”开头。
(未完待续)
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论