简介

word文档自动生成程序是一个根据用户提供的模板word文档以及一些必要的数据文件来渲染生成所要的word文档的工具。

关键词:批量word文档生成、word文档渲染、自动生成word

使用场景

几种典型的可以采用该工具减少工作量和增加效率的场景。

(1)需要批量生成大量内容基本相同,仅少数信息有差别的word文档。例如生成大量员工的合同、工资单等;

(2)需要在word文档中插入某种指定的大量的数据,手动插入这些数据非常耗时;

(3)需要多次生成一类word文档,每次的word文档仅指定的数据内容改变,其他总体格式保持不变;

(4)根据实验数据等生成word报告,实验数据会发生变化,报告内容大体不变,每次有新的实验数据就需要重新写word报告;

(5)需要在word报告中批量插入大量的图片或者表格,图片在单独的目录下能按规则准备好,或者表格中的数据在excel中已经准备好。

使用方法

用户准备word模板文件,并命名为template.docx

用户编写标签-内容文件,命名为labels.txt

将所有的附加依赖的数据文件,以及template.docx和labels.txt全部放在工作目录下

cmd窗口中执行程序

autoWord.exe 工作目录

例如执行程序所给样例:通用示例

在autoWord.exe程序和通用示例文件夹在同一个目录的情况下,在命令行窗口中执行

autoWord.exe  通用示例

或者指定通用示例文件夹所在的绝对路径

autoWord.exe  C:\\mytest\通用示例

由于本程序在命令行窗口中执行,无需界面操作,因此可供开发者在程序中调用,实现批量自动调用该工具。

本程序提供了多个样例供参考使用,参照用例的labels.txt和template.docx以及生成的product.word可以快速理解使用方法。

关于标签-内容文件labels.txt

它是由用户编写的,记录word中标记的标签,以及数据文件中要替换成的数据内容的文档。

labels.txt的编写需要遵守严格的规则。

关于模板word文档

用户用指定的规则符合在模板word文档中标记一些需要实际替换的文字或图片,表格等数据,这些标记将在程序执行后被替换成labels.txt中指定的内容。

参考样例

word的模板文档样例

详见:(272条消息) word文档-样例1-模板文档_xiyangxiaoguo的博客-CSDN博客

生成的word文档样例

详见:(272条消息) word文档-样例1-结果文档_xiyangxiaoguo的博客-CSDN博客

labels.txt

如下文档:

#标签--内容对应文档
#==================标签解释======================
#标签不仅可以在Word模板中定义使用,也可以作为中间量在其他的标签中使用
#符号{{}}为内部标记,<>为属性标记,属性标记都是可以缺省的,[]和[[]]为数组标记,()为数组截取部分
##为行注释,#后面的内容将不被读取,常用于忽略某个标签
#:标签名 表示引用一个已经定义的标签的内容
#:.结构体成员名 表示引用一个结构体的某个成员的内容
#=值 表示使用一个具体的值#以下标签头为特定含义的标签,用户需要严格遵循其语义使用
#image_**表示图片类标签
#array_**表示数组类标签
#pageSeparatedTable_**长表格标签
#table_**普通表格标签
#struct_** 多种复合内容块标签
#-----------------------------------------------#普通文字替换标签
title={{机械工业}}
testSentence={{当前语句将放入目标文档标记处}}
tableCaption1={{核天体物理学}}
header={{核反应率}}
absorb1={{核燃料1}}
absorb2={{核燃料2}}
struct1={{核反应堆1}}
struct2={{核反应堆2}}
what={{中子}}
who={{光子}}
para2={{中子通量密度}}
subpara2={{核反应率}}
subsubpara2={{多普勒效应或多普勒展宽}}
dopulo={{多普勒展宽}}
alada={{pg,yd}}
zhoudeshi={{lualu}}
id={{100}}
chibu={{xxxxxxxxxx
yyyyyyyyyy}}
caption_label1={{这是一个行数目非常多的表格}}#图片标签
#属性标签:height图片高度,width图片宽度
image_xx={{chart.png<height=50,width=100>}}
image_yy={{chart.png<height=50,width=50>}}
imageCaption_yy={{这是一个自动插入的图题注}}#数组类型的数据
array_xx={{[['baba','caca','dili'],[1,2,3],[4,5,6],[1,2,3],[4,5,6],[1,2,3],[4,5,6],[1,2,3],[4,5,6]]}}
array_h1={{['baba','caca','dili']}}
array_h2={{['序号','苹果','梨']}}#文件类型的数据
#文件类型的数据将自动读取出来并且把内容转化为普通文本标签,数组等类型
file_xx={{xyz.csv}} #csv和xlsx格式的文件将读取成为二维的数组类型
file_xyz={{xyz.xlsx}}array_mp={{:file_xx}}#长表格标签--长表格需要将表格拆解成多页,每页单独一个题注
#属性标签:horizontal_header水平表头,vertical_header垂直表头,caption题注,rows_perPage每页的行限制,usePageIndex使用分页指引(1/10)-当前页/总共页
pageSeparatedTable_xx={{:array_xx<horizontal_header:array_h1,caption:caption_label1,rows_perPage=4,usePageIndex=True>}}
#普通表格标签
table_xx={{:array_xx}}table_reflect={{:array_xx<horizontal_header:array_h2>}}
array_mab={{:array_mp}}
#用array_**类型去存信息
array_kids={{[['这是第一个子表格','chart.png','图1','zhanghong','2023-01','PJ-RBDD'],['这是第一个子表格','chart.png','图2','liming','2023-01','PJ-RBDX']]}}
array_mem={{['label','image_1','title','author','date','code']}}#用struct_**类型去解析复合的内容块信息
#属性标签:members内容块的项目成员,
#对于项目成员中的类型为图片的,请使用image_开头的名字作为该项目成员的名字,如image_apple
struct_kids={{:array_kids<members:array_mem>}} #用户可以在Word文档中通过 struct_kids.label去使用相应内容块的子内容

程序获取地址

链接:https://pan.baidu.com/s/1RXA5JzUb9fmB-EnwFWd8CA?pwd=ptty 
提取码:ptty

基于模板替换的word文档自动生成相关推荐

  1. Java支持latex,基于Java和LaTeX的文档自动生成技术研究

    基于Java和 LaTeX 的文档 自动生成技术研究 ◆尚宝欣 徐 屹 (东北电力大学理学院,吉林 长春 132012) [摘 要]讨论了结合Java与LaTex 自动生成 PDF文档的方法.针 展名 ...

  2. Typora导出word文档自动生成目录

    一.关键步骤 Typora导出word文档 用WPS打开word文档,自动生成目录 在空白处,插入编号,插入编号后删除这条编号 更新目录,更新整个目录 完成目录自动生成

  3. speedoffice如何给Word文档自动生成目录

    我们在编写论文或者使用手册时,需要插入目录来引导阅读,这样可以方便快捷地查到自己要阅读的模块,如何生成目录呢,下面用我平时常用的speedoffice为例介绍一下. 1.首先,我们打开Word文档,选 ...

  4. java poi获取word文档自动生成的序号

    POI不能获取word自动生成的序号,但是可以自己根据级别自己写出来. maven <dependency><groupId>org.apache.poi</groupI ...

  5. Word文档自动生成目录

  6. Word 2010文档自动生成目录和某页插入页码

    一.Word 2010文档自动生成目录 关于Word文档自动生成目录一直是我身边同学们最为难的地方,尤其是毕业论文,经常因为目录问题,被要求修改,而且每次修改完正文后,目录的内容和页码可能都会发生变化 ...

  7. word文档自动保存方法

    有时候在word文档上写了一篇很长很长的文章,但是忘了保存,这时候如果电脑卡机,或者突然停电的话.这篇文章就付诸东流了,也浪费了自己的努力,时间.下面介绍让word文档自动保存的方法: 1.点击菜单栏 ...

  8. word怎么显示计算机数字,如何使word文档自动显示字数统计 Word自动统计文档字数在哪里...

    如何使word文档自动显示字数统计 Word自动统计文档字数在哪里 Word中有一个非常实用的字数统计功能,如要统计一个文档中的字数,直接在菜单栏中单击"审阅→字数统计",便可得到 ...

  9. java-制作flt模板,导出word文档带图片循环

    java-制作flt模板,导出word文档带图片循环 模板制作 制作xml 编辑xml文档 将xml模板转换为flt 编写工具类 导出word工具类 获取远程图片 使用示例 使用示例--springb ...

最新文章

  1. 国内外开源与 SaaS ,团队协作平台、项目管理工具整理
  2. 关于反爬虫,看这一篇就够了
  3. java结丹期(13)----javaweb(responserequestservletcontext)
  4. cbrt c语音_C语言有哪些鲜为人知的特性?
  5. axis1 c# 接口 调用_java调用c#的Webservice接口数据报错
  6. windows下搭建SSH隧道内网映射
  7. 【ZooKeeper Notes 6】客户端对zookeeper的操作是不可回退的 [OK]
  8. 转载 Microsoft .NET Pet Shop 4 架构与技术分析
  9. Atitit 学习方法 补充 艾龙 著 attilax著 1. Atitit 学习的方法 attilax总结 1 1.1. 2. 基于学习策略的分类 2 2 1.2. 3. 基于所获取知识的表示形
  10. 计算机电源改造加大功率,最标准的电脑电源功率计算公式 十代酷睿电源搭配建议...
  11. VI设计手册制作全流程
  12. 西瓜书习题4.3 决策树
  13. 界面设计中如何增强CTA按钮召唤力?
  14. 手机NFC是什么?怎么使用?
  15. 每年工作日与非工作日的设置
  16. 挖掘长尾关键词的五大思路
  17. 开始topcoder
  18. vue.js动态设置VueComponent高度遇到的问题
  19. 还在为那几千的工资起早贪黑,学好大数据年薪30万不是梦
  20. 有道词典提示您的网络暂时不可用或受限,请检查您的网络设置

热门文章

  1. 精品基于Uniapp+SSM实现的公园植物介绍APP
  2. ARM Cortex-M 调试器 - 基础知识
  3. 易语言程序c0000005,教你四招彻底解决易语言程序误报问题
  4. Oracle 10g RAC 维护工具完全详解
  5. 企业微信——二次验证,验证地址页面jsdk调用失败
  6. 五步打造APP节日主题设计:以Lofter新年图标设计为例
  7. 优盘连接时显示参数错误请问咋才能修复
  8. GBase 8c 技术白皮书 六
  9. 小技巧:163 VIP邮箱如何登录?VIP163邮箱的优势
  10. 当小米MIX 2遇到iPhone X 你会怎么选?