Java根据word模板生成word文档之设计详细思路---word标签定义

word替换原理:通过顺序查找word模板中的特殊字符标记,找到一个或多个就替换出响应的值,而表格的替换或者说生成是根据word中表格定义的序列来定位查找的,比如第一个表格的序列就是0,以此类推1,2,3...,所以我们知道了响应的替换查找原理之后,就可以开始下面的标签定义了。

通过前面的XML标签对应,那么word标签也必须和xml相对应。

word模板定义主要包含以下几个内容:

一是:单个标签的定义,比如:在word中某个地方,定义一个标签,所谓标签就是XML中自定义的field中的key,我默认以$开始$结束,

例如:

系统名称:      $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”开头。


(未完待续)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值