CN111626032B - word模板动态导出方法、装置及存储介质 - Google Patents
word模板动态导出方法、装置及存储介质 Download PDFInfo
- Publication number
- CN111626032B CN111626032B CN202010326817.3A CN202010326817A CN111626032B CN 111626032 B CN111626032 B CN 111626032B CN 202010326817 A CN202010326817 A CN 202010326817A CN 111626032 B CN111626032 B CN 111626032B
- Authority
- CN
- China
- Prior art keywords
- template
- data
- word
- label
- model
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 65
- 238000013499 data model Methods 0.000 claims abstract description 64
- 238000009877 rendering Methods 0.000 claims description 8
- 238000003491 array Methods 0.000 claims description 6
- 238000004590 computer program Methods 0.000 claims description 6
- 238000013473 artificial intelligence Methods 0.000 abstract description 2
- 238000012545 processing Methods 0.000 description 6
- 238000004891 communication Methods 0.000 description 5
- 238000011161 development Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 230000001419 dependent effect Effects 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000012827 research and development Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000012552 review Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/166—Editing, e.g. inserting or deleting
- G06F40/186—Templates
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及人工智能中的数据展示领域,提出一种word模板动态导出方法、装置及计算机可读存储介质,该方法包括:根据预设规则配置元数据、word模板,并将配置好的元数据、word模板上传至word系统;在word系统中读取元数据以获取数据源,根据数据源在数据库中加载数据,生成数据模型,并在word系统中读取、解析word模板,获得word模板的模板标签,生成模板标签集合;遍历模板标签集合,判断模板标签集合是否为空,若模板标签集合为空,则将数据模型中的数据填充到word模板中,若模板标签集合为非空,则取出与模板标签对应的数据,并调用模板标签类型判断程序;模板标签类型判断程序判断模板标签的类型,并根据判断出的模板标签的类型将所述数据模型中的数据填充到word模板中。
Description
技术领域
本发明涉及人工智能中的数据展示领域,尤其涉及一种word模板动态导出方法、装置及计算机可读存储介质。
背景技术
在进行业务处理时,针对不同类型的流程、申报材料和内容,需要提供不同的word模板。
在传统方法中,每发布一个新的流程,即需要为这个流程配置新的word模板,并且为该word模板填充数据进行开发工作,经过一系列开发后上线发布新版本,每新增一个事项就需要重复一次开发流程,但word模板内容的数据填充方式大部分是一样的,相同类型的模板标签所生成的可视化界面没有太大差异,若在已经稳定运行的业务系统中每次都要重新上线发布新版本,则会导致系统版本更新频繁,工作量巨大,同时系统反应慢也会造成用户体验不畅。
现在市面上已经存在的一些word模板导出工具,如Apache POI、FreeMarker、poitl等,但这些技术只能静态配置word模板,然后再编译为word文档,当有新的word模板需要配置时,只能重新开发。同时,有些工具使用复杂,配置繁琐,排版有局限性,对操作系统也有依赖。
因此,亟须一种word模板动态导出方法,以提升工作效率,缩短研发时间,使不需要解析word模板、查询数据,即可将数据填充到word模板中,减少中间过程环节,减少人工出错的过程。
发明内容
本发明提供一种word模板动态导出方法、电子装置及计算机可读存储介质,其主要目的在于通过在word系统中读取所述元数据以获取数据源、样式,根据数据源在数据库中加载数据,生成数据模型,并在word系统中读取、解析所述word模板,获得word模板的模板标签,生成模板标签集合,然后遍历模板标签集合,判断模板标签集合是否为空,若模板标签集合为空,则将数据模型中的数据填充到word模板中,若模板标签集合为非空,则取出与模板标签对应的数据,并调用模板标签类型判断程序;所述模板标签类型判断程序判断所述模板标签的类型,并根据模板标签的类型对模板标签进行替换,对word模板进行数据填充。
为实现上述目的,本发明提供的word模板动态导出方法,应用于电子装置中,所述word模板动态导出方法包括:
根据预设规则配置元数据、word模板,并将配置好的所述元数据、word模板上传至word系统;
在所述word系统中读取所述元数据以获取所述元数据的数据源,根据所述数据源在数据库中加载数据,生成数据模型,并在所述word系统中读取、解析所述word模板,获得所述word模板的模板标签,生成模板标签集合;
遍历所述模板标签集合,判断所述模板标签集合是否为空,若所述模板标签集合为空,则将所述数据模型中的数据填充到所述word模板中,若模板标签集合为非空,则取出与所述模板标签对应的数据,并调用模板标签类型判断程序;
所述模板标签类型判断程序判断所述模板标签的类型,并根据判断出的模板标签的类型将所述数据模型中的数据填充到word模板中。
优选地,所述根据预设规则配置的元数据文件为json文件,所述json文件的内容为json数组,所述json数组描述获取数据的方式、文档排版的样式、数据渲染的方式;
所述根据预设规则配置的word模板为已经完成排版并设置了模板标签的word文件;
配置好的所述元数据、word模板通过http上传至word系统。
优选地,所述数据渲染的方式包括:普通文本、表格、复选框、图片以及合并的多文档。
优选地,在所述word系统中读取所述元数据以获取数据源的过程通过调用组件完成,其中,所述调用组件为用于获取数据的插件,且所述调用组件支持数据库连接、redis缓存和第三方服务。
优选地,所述数据模型包括数据内容、数据信息及数据样式;
所述模板标签包括模板标签值、模板标签所在文档位置和样式。
优选地,所述模板标签的类型为普通文本、复选框、包含子文档的多文档、表格。
优选地,根据判断出的模板标签的类型将所述数据模型中的数据填充到word模板中的过程,包括:
若模板标签的类型为普通文本或复选框,则用所述数据模型中的模板标签替换原有的模板标签,并将所述数据模型中的数据填充到所述word模板中;
若所述模板标签的类型为多文档,则加载并解析多文档word模板的子文档word模板,并将所述数据模型中的数据填充到所述子文档word模板中;
若所述模板标签的类型为表格,则获取并替换文档中的表格模型和数据列表,并将所述数据模型中的数据填充到所述word模板中。
优选地,获取并替换文档中的表格模型和数据列表,并将所述数据模型中的数据填充到所述word模板中的过程包括:
获取文档中的表格模型和数据列表,遍历所述数据列表,判断所述数据列表中是否有元素,若无元素,则将所述数据模型中的数据填充到所述word模板中;若有元素,则取出第一个元素,将所述表格模型增加一行,并将所述元素填充到所述表格模型新增的行中,直至所述数据列表中没有元素,再将所述数据模型中的数据填充到所述word模板中;其中,所述元素为所述数据列表中的现有数据。
为实现上述目的,本发明还提供一种电子装置,该装置包括:存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现权前述的word模板动态导出方法中的步骤。
此外,为实现上述目的,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质中存储有word模板动态导出程序,所述word模板动态导出程序被处理器执行时,实现前述的word模板动态导出方法的步骤。
本发明提出的word模板动态导出方法、电子装置及计算机可读存储介质,通过在word系统中读取所述元数据以获取数据源,根据数据源在数据库中加载数据,生成数据模型,并在word系统中读取、解析所述word模板,获得word模板的模板标签,生成模板标签集合,然后遍历模板标签集合,判断模板标签集合是否为空,若模板标签集合为空,则将数据模型中的数据填充到word模板中,若模板标签集合为非空,则取出与模板标签对应的数据,再对word模板进行数据填充,不需要重新开发即可导出word模板,提升了工作效率,缩短了研发时间,减少中间过程环节,也减少人工出错的过程。
附图说明
图1为根据本发明实施例的word模板动态导出方法的流程图;
图2为根据本发明实施例的word模板动态导出方法的系统框架图;
图3为根据本发明实施例的电子装置的结构示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
现有的word模板导出工具,如Apache POI、FreeMarker、poitl等,但这些导出工具只能静态配置word模板,然后再编译为word文档,当有新的word模板需要配置时,只能重新开发。同时,有些工具使用复杂,配置繁琐,排版有局限性,对操作系统也有依赖。
基于上述问题,本发明提供一种word模板动态导出方法,通过模板标签配置word模板的内容。
具体的,本发明提供一种word模板动态导出方法,应用于一种电子装置30。
图1为根据本发明实施例的流程图。如图1所示,在本实施例中,包括如下步骤:
S110:根据预设规则配置元数据、word模板,并将配置好的元数据、word模板上传至word系统;
其中,根据预设规则配置的元数据文件为json文件,json文件的内容为json数组,json数组描述获取数据的方式、文档排版的样式、数据渲染的方式;
根据预设规则配置的word模板为已经完成排版并设置了模板标签的word文件;
数据渲染的方式包括:普通文本、表格、复选框、图片以及合并的多文档。
元数据文件示例如下(部分属性未列出):
其中,①字段为注释,注释用于给每个数据模型加上注释,便于理解和维护该数据模型;
②字段为命名空间,简短但不能重复;
③字段为BO模型名称,一般是数据库表名,在引擎时会加载此表的数据,并将此表的数据用于填充模板。
word模板为已经完成排版并设置了模板标签的word文件,模板标签均以{{开头,以}}结尾,模板标签可以出现在任何非文本框的位置;
配置好的元数据、word模板通过http上传至word系统。
S120:在word系统中读取元数据以获取元数据的数据源,根据数据源在数据库中加载数据,生成数据模型,并在word系统中读取、解析word模板,获得word模板的模板标签,生成模板标签集合;
在word系统中读取元数据以获取数据源的过程通过调用组件完成,其中,该调用组件为用于获取数据的插件,且该调用组件支持数据库连接、支持redis缓存、支持第三方服务。
数据模型包括数据内容、数据信息及数据样式;
模板标签包括模板标签值、模板标签所在文档位置和样式。
具体的,数据源为描述获取数据的方式,一般指数据库中的表,根据数据源在数据库中加载数据的过程由调用组件完成,该调用组件经java编写而成,支持数据库连接的方式,支持redis等缓存或者第三方服务,且该调用组件通过jdbc连接数据库以从数据源(数据库中的表)中获取数据,其中,数据源中的table_name字段即为数据源的表名,也为数据的命名空间,在配置word模板时使用该命名空间,该命名空间的值即为模板标签。
数据模型包括模板标签、模板类型、数据、样式配置信息等。
读取并解析word模板,获得word模板的模板标签,生成模板标签模型集合这一过程中包括:
模板标签包括模板标签值、模板标签所在文档位置、样式;
word模板解析过程可以由Jacob、iText、Java2word、Apache POI、POITL等开源组件实现,由于POITL代码相对简单且功能强大,因此由开源组件POITL提供实现,开源组件POITL对apache开源组件POI进行封装以提供更友好的API,友好的api更简单易用,开发人员在调用的过程中,不需要关注复杂的底层代码实现,调用自己关注的接口即可,例如:poitil的XWPFRun.setText(value)为开发者提供了向word中插入文字的方法,其实现原理都是调用apache poi提供的接口。如果开发者自己使用apache poi提供的接口,需要十几行代码,并且还要去官方查阅大量晦涩难懂的api文档,而poitl仅用了一行代码。
调用方式如下:
XWPFTemplate.compile();
具体的,docx格式的word文档,实质为一个包含了很多xml文件的压缩文件,该xml文件保存了word文档的文字、样式、布局、主题、设置等所有信息,文档保存在word/document.xml文件中,解析word模板,其实就是读取这个xml文件。遍历xml文件后,根据docx文件的规范,可以取出该文档的所有段落、表格、图片等结构信息,并包含这些结构信息的样式,且样式和在数据中配置的样式不同;具体的,这里的样式指的是该位置文档中原来的样式,例如,模板标签${cuti},可以看到这个标签在文档中是粗体样式,此时获取到的样式也是粗体;而元数据中样式是程序设置的样式,还以上述模板标签为例,如果在元素中配置了该标签的样式为斜体,则程序在替换模板标签时,会把相应的字体改为斜体,如果没有设置,则会使用该标签原来的样式。
S130:遍历模板标签集合,判断模板标签集合是否为空,若模板标签集合为空,则将数据模型中的数据填充到word模板中,若模板标签集合为非空,则取出与模板标签对应的数据,并调用模板标签类型判断程序;
若模板标签集合为空,则表示不存在与word模板对应的标签,即word模板中不存在数据;
若模板标签集合为空,则表示存在与word模板对应的标签,即word模板中存在数据,因此需先将word模板中存在数据取出,然后再将数据模型中的数据填充进去。
S140:模板标签类型判断程序判断模板标签的类型,并根据判断出的模板标签的类型将所述数据模型中的数据填充到word模板中。
根据判断出的模板标签的类型将所述数据模型中的数据填充到word模板中的过程为:先将模板标签清空,再把标签对应的数据填充;具体核心代码如下:
XWPFRun.setText("",0);
XWPFRun.setText(value);
模板标签的类型为普通文本、复选框、包含子文档的多文档、表格。
若模板标签的类型为普通文本或复选框,则用数据模型中的模板标签替换原有的模板标签,并将数据模型中的数据填充到word模板中;
若模板标签的类型为多文档,则加载并解析多文档word模板的子文档word模板,并将数据模型中的数据填充到子文档word模板中;其中,
若模板标签的类型为多文档,多文档中包含多个子文档,子文档对应子文档word模板,以下将子文档word模板简称为子模板,首先加载并解析子模板,获取并遍历子模板中的数据列表,判断数据列表中是否有元素,若无元素,则将数据模型中的数据填充到word模板中,若有元素,则取出第一个元素,并将元素中的每个字段填充到子模板的模板标签中,再将已填充字段的子模板添加到word模板中,直到数据列表中不含有元素,再将数据模型中的数据填充到word模板中;
其中,在将已填充字段的子模板添加到word模板过程中,该功能调用POITL的接口,通过DocxRenderPolicy类实现。原理是在模板标签位置,插入子模板的docx文件格式的代码,但是在插入前,会先将子模板编译,编译过程和主模板一样;
其核心代码如下:
若模板标签的类型为表格,则获取并替换文档中的表格模型和数据列表,并将数据模型中的数据填充到word模板中。
获取并替换文档中的表格模型和数据列表,并将数据模型中的数据填充到word模板中的过程包括:
获取文档中的表格模型和数据列表,遍历数据列表,判断数据列表中是否有元素,若无元素,则将数据模型中的数据填充到word模板中;若有元素,则取出第一个元素,将表格模型增加一行,并将元素填充到表格模型新增的行中,直至数据列表中没有元素,再将数据模型中的数据填充到word模板中;这里所说的元素为数据列表中的现有数据,比如表格中的数字。
其中,若模板标签的类型为表格,在word文档表格动态创建过程中,由于数据量的大小是动态的,所以无法预测表格的行数,表格的行需要根据数据量动态的添加。先要遍历表格数据,再检查表格有没有多余的空行,有多余空行就直接填充,没有多余空行就要先创建空行,再填充数据;其代码实现如下:
图2为根据本发明实施例的word模板动态导出系统200的框架图,该系统对应于word模板动态导出方法,置于word模板动态导出电子装置30中。该系统200包括上传单元210,对上传单元210上传的元数据和word模板进行解析的数据、标签生成单元220,对数据、标签生成单元220生成的模板标签集合进行类别判断的类别判断单元230,对类别判断单元230判断出的标签类别进行数据填充的分类填充单元240;
该上传单元210用于根据预设规则配置元数据、word模板,并将元数据、word模板上传至word系统;
该数据、标签生成单元220用于在word系统中读取元数据以获取数据源,根据数据源在数据库中加载数据,生成数据模型,并在word系统中读取、解析word模板,获得word模板的模板标签,生成模板标签集合;
该类别判断单元230包括初步判断模块231和标签类型判断模块232,该初步判断模块231用于遍历模板标签集合,判断模板标签集合是否为空,若模板标签集合为空,则将数据模型中的数据填充到word模板中,若模板标签集合为非空,则取出与模板标签对应的数据,并调用标签类型判断模块232中的模板标签类型判断程序;
该分类填充单元240用于根据模板标签的类型对模板标签进行替换,并将数据模型中的数据填充到word模板中。
图3为根据本发明实施例的电子装置的逻辑结构示意图,在本实施例中,电子装置30可以是服务器、平板计算机、便携计算机、桌上型计算机等具有运算功能的终端设备。
该电子装置30包括:处理器31、存储器32、计算机程序33、网络接口及通信总线。
电子装置30可以是平板电脑、台式电脑、智能手机,但不限于此。
存储器32包括至少一种类型的可读存储介质。至少一种类型的可读存储介质可为如闪存、硬盘、多媒体卡、卡型存储器等的非易失性存储介质。在一些实施例中,可读存储介质可以是电子装置30的内部存储单元,例如该电子装置30的硬盘。在另一些实施例中,可读存储介质也可以是电子装置30的外部存储器,例如电子装置30上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。
在本实施例中,存储器32的可读存储介质通常用于存储安装于电子装置30的计算机程序33等。
处理器31在一些实施例中可以是一中央处理器(Central Processing Unit,CPU),微处理器或其他数据处理芯片,用于运行存储器32中存储的程序代码或处理数据,例如word模板动态导出程序33等。
网络接口可选地可以包括标准的有线接口、无线接口(如WI-FI接口),通常用于在该电子装置30与其他电子设备之间建立通信连接。
通信总线用于实现这些组件之间的连接通信。
图3仅示出了具有组件31-33的电子装置30,但是应理解的是,并不要求实施所有示出的组件,可以替代的实施更多或者更少的组件。
在图3所示的电子装置实施例中,作为一种计算机存储介质的存储器32中可以包括操作系统、以及word模板动态导出程序33;处理器31执行存储器32中存储的word模板动态导出程序33时实现如下步骤:
S110:根据预设规则配置元数据、word模板,并将配置好的元数据、word模板上传至word系统;
S120:在word系统中读取元数据以获取元数据的数据源,根据数据源在数据库中加载数据,生成数据模型,并在word系统中读取、解析word模板,获得word模板的模板标签,生成模板标签集合;
S130:遍历模板标签集合,判断模板标签集合是否为空,若模板标签集合为空,则将数据模型中的数据填充到word模板中,若模板标签集合为非空,则取出与模板标签对应的数据,并调用模板标签类型判断程序;
S140:模板标签类型判断程序判断模板标签的类型,并根据判断出的模板标签的类型将数据模型中的数据填充到word模板中。
根据预设规则配置的元数据文件为json文件,json文件的内容为json数组,json数组描述获取数据的方式、文档排版的样式、数据渲染的方式;
根据预设规则配置的word模板为已经完成排版并设置了模板标签的word文件;
配置好的元数据、word模板通过http上传至word系统。
数据渲染的方式包括:普通文本、表格、复选框、图片以及合并的多文档。
在word系统中读取元数据以获取数据源、样式的过程通过调用组件完成,其中,该调用组件为用于获取数据的插件,且该调用组件支持数据库连接、redis缓存和第三方服务。
数据模型包括数据内容、数据信息及数据样式;
模板标签包括模板标签值、模板标签所在文档位置和样式。
模板标签的类型为普通文本、复选框、包含子文档的多文档、表格。
根据判断出的模板标签的类型将所述数据模型中的数据填充到word模板中的过程,包括:
若模板标签的类型为普通文本或复选框,则用数据模型中的模板标签替换原有的模板标签,并将数据模型中的数据填充到word模板中;
若模板标签的类型为多文档,则加载并解析多文档word模板的子文档word模板,并将数据模型中的数据填充到子文档word模板中;
若模板标签的类型为表格,则获取并替换文档中的表格模型和数据列表,并将数据模型中的数据填充到word模板中。
获取并替换文档中的表格模型和数据列表,并将数据模型中的数据填充到word模板中的过程包括:
获取文档中的表格模型和数据列表,遍历数据列表,判断数据列表中是否有元素,若无元素,则将数据模型中的数据填充到word模板中;若有元素,则取出第一个元素,将表格模型增加一行,并将元素填充到表格模型新增的行中,直至数据列表中没有元素,再将数据模型中的数据填充到word模板中,这里所说的元素为数据列表中的现有数据,比如表格中的数字。
此外,本发明实施例还提出一种计算机可读存储介质,该计算机可读存储介质中包括word模板动态导出程序,该word模板动态导出程序被处理器执行时实现word模板动态导出方法的步骤:
S110:根据预设规则配置元数据、word模板,并将元数据、word模板上传至word系统;
S120:在word系统中读取元数据以获取数据源,根据数据源在数据库中加载数据,生成数据模型,并在word系统中读取、解析word模板,获得word模板的模板标签,生成模板标签集合;
S130:遍历模板标签集合,判断模板标签集合是否为空,若模板标签集合为空,则将数据模型中的数据填充到word模板中,若模板标签集合为非空,则取出与模板标签对应的数据,并调用模板标签类型判断程序;
S140:模板标签类型判断程序判断模板标签的类型,并根据模板标签的类型对模板标签进行替换,对word模板进行数据填充。
本发明之计算机可读存储介质的具体实施方式与word模板动态导出方法、电子装置的具体实施方式大致相同,在此不再赘述。
申请可用于众多通用或专用的计算机系统环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器系统、基于微处理器的系统、置顶盒、可编程的消费电子设备、网络PC、小型计算机、大型计算机、包括以上任何系统或设备的分布式计算环境等等。本申请可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本申请,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、装置、物品或者方法不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、装置、物品或者方法所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、装置、物品或者方法中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (8)
1.一种word模板动态导出方法,应用于电子装置中,其特征在于,所述方法包括:
根据预设规则配置元数据、word模板,并将配置好的所述元数据、word模板上传至word系统;
在所述word系统中读取所述元数据以获取所述元数据的数据源,根据所述数据源在数据库中加载数据,生成数据模型,并在所述word系统中读取、解析所述word模板,获得所述word模板的模板标签,生成模板标签集合;
遍历所述模板标签集合,判断所述模板标签集合是否为空,若所述模板标签集合为空,则将所述数据模型中的数据填充到所述word模板中,若模板标签集合为非空,则取出与所述模板标签对应的数据,并调用模板标签类型判断程序;
所述模板标签类型判断程序判断所述模板标签的类型,并根据判断出的模板标签的类型将所述数据模型中的数据填充到word模板中;其中包括:
若模板标签的类型为普通文本或复选框,则用所述数据模型中的模板标签替换原有的模板标签,并将所述数据模型中的数据填充到所述word模板中;
若所述模板标签的类型为多文档,则加载并解析多文档word模板的子文档word模板,并将所述数据模型中的数据填充到所述子文档word模板中;
若所述模板标签的类型为表格,则获取并替换文档中的表格模型和数据列表,并将所述数据模型中的数据填充到所述word模板中;其中包括:
获取文档中的表格模型和数据列表,遍历所述数据列表,判断所述数据列表中是否有元素,若无元素,则将所述数据模型中的数据填充到所述word模板中;若有元素,则取出第一个元素,将所述表格模型增加一行,并将所述元素填充到所述表格模型新增的行中,直至所述数据列表中没有元素,再将所述数据模型中的数据填充到所述word模板中;其中,所述元素为所述数据列表中的现有数据。
2.根据权利要求1所述的word模板动态导出方法,其特征在于,
根据预设规则配置的元数据文件为json文件,所述json文件的内容为json数组,所述json数组描述获取数据的方式、文档排版的样式、数据渲染的方式;
根据预设规则配置的word模板为已经完成排版并设置了模板标签的word文件;
配置好的所述元数据、word模板通过http上传至word系统。
3.根据权利要求2所述的word模板动态导出方法,其特征在于,
所述数据渲染的方式包括:普通文本、表格、复选框、图片以及合并的多文档。
4.根据权利要求1所述的word模板动态导出方法,其特征在于,在所述word系统中读取所述元数据以获取数据源的过程通过调用组件完成,其中,所述调用组件为用于获取数据的插件,且所述调用组件支持数据库连接、redis缓存和第三方服务。
5.根据权利要求1所述的word模板动态导出方法,其特征在于,
所述数据模型包括数据内容、数据信息及数据样式;
所述模板标签包括模板标签值、模板标签所在文档位置和样式。
6.根据权利要求1所述的word模板动态导出方法,其特征在于,
所述模板标签的类型为普通文本、复选框、包含子文档的多文档、表格。
7.一种电子装置,其特征在于,该电子装置包括:存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现权利要求1至6中任一项所述的word模板动态导出方法中的步骤。
8.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有word模板动态导出程序,所述word模板动态导出程序被处理器执行时,实现如权利要求1至6中任一项所述的word模板动态导出方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010326817.3A CN111626032B (zh) | 2020-04-23 | 2020-04-23 | word模板动态导出方法、装置及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010326817.3A CN111626032B (zh) | 2020-04-23 | 2020-04-23 | word模板动态导出方法、装置及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111626032A CN111626032A (zh) | 2020-09-04 |
CN111626032B true CN111626032B (zh) | 2024-01-26 |
Family
ID=72260968
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010326817.3A Active CN111626032B (zh) | 2020-04-23 | 2020-04-23 | word模板动态导出方法、装置及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111626032B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112115693B (zh) * | 2020-09-25 | 2023-08-22 | 平安国际智慧城市科技股份有限公司 | 带动态渲染图表的Word文档的导出方法、装置及计算机设备 |
CN112256710B (zh) * | 2020-09-30 | 2022-12-06 | 中孚安全技术有限公司 | 一种基于元数据的数据统计分析图表生成系统、方法及设备 |
CN113283227A (zh) * | 2021-05-31 | 2021-08-20 | 山东浪潮通软信息科技有限公司 | 文件导出方法、装置及计算机可读介质 |
CN113536757A (zh) * | 2021-07-30 | 2021-10-22 | 广东粤财金融云科技股份有限公司 | 一种基于参数模板的电子合同生成签署方法、装置及系统 |
CN114239529B (zh) * | 2021-12-16 | 2024-10-29 | 深圳前海环融联易信息科技服务有限公司 | 基于模板引擎的文档生成方法、装置、设备及介质 |
CN117391456B (zh) * | 2023-11-27 | 2024-04-05 | 浙江南斗数智科技有限公司 | 基于人工智能的村社管理方法及服务平台系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103914438A (zh) * | 2012-12-30 | 2014-07-09 | 航天信息股份有限公司 | 基于模版与标记实现的Excel显示与导出方法及系统 |
CN110096689A (zh) * | 2019-05-17 | 2019-08-06 | 北京市律典通科技有限公司 | 模板式法律文书信息填充方法及装置 |
CN110968996A (zh) * | 2019-11-13 | 2020-04-07 | 安徽东方智云科技有限公司 | 一种文档制作方法、装置、设备以及存储介质 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9894119B2 (en) * | 2014-08-29 | 2018-02-13 | Box, Inc. | Configurable metadata-based automation and content classification architecture for cloud-based collaboration platforms |
CN107704479B (zh) * | 2017-02-08 | 2020-06-30 | 深圳壹账通智能科技有限公司 | 文件生成方法和装置 |
US10817468B2 (en) * | 2018-02-27 | 2020-10-27 | Servicenow, Inc. | Document management |
-
2020
- 2020-04-23 CN CN202010326817.3A patent/CN111626032B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103914438A (zh) * | 2012-12-30 | 2014-07-09 | 航天信息股份有限公司 | 基于模版与标记实现的Excel显示与导出方法及系统 |
CN110096689A (zh) * | 2019-05-17 | 2019-08-06 | 北京市律典通科技有限公司 | 模板式法律文书信息填充方法及装置 |
CN110968996A (zh) * | 2019-11-13 | 2020-04-07 | 安徽东方智云科技有限公司 | 一种文档制作方法、装置、设备以及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN111626032A (zh) | 2020-09-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111626032B (zh) | word模板动态导出方法、装置及存储介质 | |
CN104881275B (zh) | 一种电子报表生成方法及装置 | |
CN113609820B (zh) | 基于可扩展标记语言文件生成word文件的方法、装置及设备 | |
CN111241793B (zh) | 解析富文本编辑器内容给原生客户端渲染的方法、系统及介质 | |
CN110879937A (zh) | 文档生成网页的方法、装置、计算机设备和存储介质 | |
CN110968996B (zh) | 一种文档制作方法、装置、设备以及存储介质 | |
CN113283228A (zh) | 文档生成方法、装置、电子设备及存储介质 | |
US7756333B2 (en) | Document layout verification | |
CN105589959A (zh) | 表单处理方法和表单系统 | |
CN108170409B (zh) | Web前端控件的开发方法和系统 | |
CN115756437B (zh) | 基于schema文件的可视化xml数据编制方法及系统 | |
CN113158101A (zh) | 一种可视化页面渲染方法、装置、设备及存储介质 | |
CN114047989A (zh) | 一种动态表单配置、渲染方法、系统及装置 | |
CN111752565A (zh) | 一种界面生成方法、装置、计算机设备及可读存储介质 | |
CN116644213A (zh) | Xml文件读取方法、装置、设备及存储介质 | |
US7461337B2 (en) | Exception markup documents | |
CN113723063B (zh) | 一种rtf转html并在pdf文件实现效果的方法 | |
US9619445B1 (en) | Conversion of content to formats suitable for digital distributions thereof | |
CN113297425B (zh) | 文档转换方法、装置、服务器及存储介质 | |
CN111931468B (zh) | 检验报告的生成方法、装置、电子设备及存储介质 | |
CN101617307B (zh) | 编解码设备和方法 | |
CN112860584A (zh) | 基于工作流模型的测试方法及装置 | |
CN115061690A (zh) | 一种自动化代码生成方法以及装置 | |
CN114489525A (zh) | 打印报表生成方法、装置、设备及存储介质 | |
CN113867718A (zh) | 图片生成方法、装置、计算机设备及可读存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |