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”开头。

(未完待续)

java生成word 框勾_Java根据word模板生成word文档之设计详细思路—word标签定义 | 学步园...相关推荐

  1. java生成word 框勾_Java 使用模板生成 Word 文件---基于 Freemarker 模板框架

    Java项目引入 Freemarker 插件自行完成. 步骤如下: 1.编写 Word 模板,并将模板中要用代码动态生成数据用 Freemarker 变量取代,即${变量名},如${username} ...

  2. java 字符串转pdf文件_java中根据模板生成pdf文件

    原标题:java中根据模板生成pdf文件 阅读目录 简介 业务需求 引入jar包 pdf模板文件与方法参数 代码部分 总结归纳 回到顶部 简介 本文使用java引入apach提供的pdf操作工具生成p ...

  3. java中protect是什么_Java中public、private、protecte、default、public void是什么意思 | 学步园...

    类的成员不写访问修饰时默认为default.默认对于同一个包中的其他类相当于公开(public),对于不是同一个包中的其他类相当于私有(private).受保护(protected)对子类相当于公开, ...

  4. Java 操作 word 文档 (二)初识 WordprocessingML 标签

    在初识 word 文档 一文中,简单的介绍了一下 word 文档的格式.本文简单介绍 document.xml 文件中的 WordprocessingML 标签(本文简称 WordML) ,后续的文章 ...

  5. java检查word文档内容缺失_恢复Word文档内容需要了解的知识

    Word文档是每一位电脑用户都有机会接触的文字编辑工具,它对我们的生活有着重要影响,不管是在学习还是在工作上.如果我们遇到了Word文档内容丢失或者Word文档内容乱码的情况,应该怎么解决呢?请继续往 ...

  6. 信创办公--基于WPS的Word最佳实践系列(修订、审阅与文档保护)

    信创办公–基于WPS的Word最佳实践系列(修订.审阅与文档保护) 项目背景 在编辑文档过程中,当我们完成一篇文档的编辑时,往往需要其他同事或者朋友的协助进行修改,如果这篇文档非常的长,我们需要找出两 ...

  7. 前格式 直接将转换为当_如何将word转化为PDF格式?1分钟学会文档转换

    如何将word转化为PDF格式?不知道大家在学习和工作中有没有遇到过文件转换的问题,基本上所有的人在使用了各种数据文档后,都有为了文档格式转换而发愁的,因此这里重点给大家介绍一些文件转换的工具和方法, ...

  8. 如何恢复Word自动保存的多个时间点的文档

    如何恢复Word自动保存的多个时间点的文档 word自动保存功能会生成多个时间节点的保存文件,可以通过.asd文件进行恢复. 首先找到word自动保存文件的位置:文件 ->选项 -> 保存 ...

  9. word计算机桌面加密,word文档加密,怎么让word自动加密 -电脑资料

    Word提供了加密的功能,但不能自动给文档加密, 第一步:在"工具"菜单中选择"宏"选项卡,单击"宏"命令,键入宏的名称"AllA ...

  10. java excel 插入文件_Java 添加OLE对象到Excel文档

    本文介绍通过Java程序添加OLE对象到Excel文档.OLE分为两种形式,一种通过嵌入(Embed),方式,一种通过链接(Link)方式.前者是将对象嵌入到文档中,外部对该对象的更改不影响嵌入操作时 ...

最新文章

  1. CPU缓存与CPU性能的关系
  2. 我的技术家园,吸取精神食粮的天堂
  3. java面试中jvm执行子系统详细分析(三)
  4. Extjs TextField扩展
  5. php hugepage,【原创】解决Redis启动报错:Transparent Huge Pages (THP) support enabled in your kernel...
  6. centos7 最小gnome桌面_Linux 桌面进化史
  7. 搭建外文技术博客程序员都应该有自己的博客
  8. Python字符串count()
  9. Linux中断技术、门描述符、IDT(中断描述符表)、异常控制技术总结归类
  10. Deeplabv3+ 环境配置-Anaconda3 + Pytorch1.8 + Cuda10.1 + opencv3.2.0
  11. python处理子进程_Python线程处理多个bash子进程?
  12. python scipy库函数solve用法_python scipy linalg.solve_banded用法及代码示例
  13. 微分算法 非侵入式负荷识别_基于差量特征提取与模糊聚类的非侵入式负荷监测方法...
  14. 大数据的4v特征及思考_大数据智能下数据脱敏的思考
  15. python程序设计课程设计二级减速器_二级减速器课程设计完整版
  16. Java日期计算总结(包含工作日排除节假日)
  17. RL78开发问题记录
  18. 《直面苦难》--周国平
  19. shc/unshc工具用于加/解密shell脚本
  20. 多线程_线程插队_join()方法与锁的释放

热门文章

  1. 论文参考文献批量改为上角标,简单好用!!!
  2. uint8_t范围_uint8_t / uint16_t / uint32_t /uint64_t 是什么数据类型 - 大总结,看完全明白了...
  3. 【Keil 5】STM32F401CCU6 固件库配置(超详细教程)
  4. Java之——被人遗忘的Java8的八个功能
  5. Qt5+vs2017 UI界面添加新控件后,提示没有类成员
  6. c语言单片机管脚定义,单片机-IO管脚
  7. Gyroscope in smartphone 手机中的陀螺仪传感器
  8. MySQL技术:数据库逻辑结构单元
  9. java实现支付宝扫码付款
  10. 酒店宾馆wifi无线上网认证,手机认证方式详解