CN113011143A - 一种基于RPA的Word文档智能填报系统及其方法 - Google Patents

一种基于RPA的Word文档智能填报系统及其方法 Download PDF

Info

Publication number
CN113011143A
CN113011143A CN202110264625.9A CN202110264625A CN113011143A CN 113011143 A CN113011143 A CN 113011143A CN 202110264625 A CN202110264625 A CN 202110264625A CN 113011143 A CN113011143 A CN 113011143A
Authority
CN
China
Prior art keywords
data
filling
header
original
tabletype
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.)
Granted
Application number
CN202110264625.9A
Other languages
English (en)
Other versions
CN113011143B (zh
Inventor
董志勇
李方方
乔洁
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shanghai Hezhu Digital Technology Co ltd
Original Assignee
Nanjing Vocational College Of Information Technology
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Nanjing Vocational College Of Information Technology filed Critical Nanjing Vocational College Of Information Technology
Priority to CN202110264625.9A priority Critical patent/CN113011143B/zh
Publication of CN113011143A publication Critical patent/CN113011143A/zh
Application granted granted Critical
Publication of CN113011143B publication Critical patent/CN113011143B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/166Editing, e.g. inserting or deleting
    • G06F40/174Form filling; Merging
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/166Editing, e.g. inserting or deleting
    • G06F40/186Templates
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy 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)
  • Document Processing Apparatus (AREA)

Abstract

本发明公开了一种基于RPA的Word文档智能填报系统及其方法,属于智能数据处理技术领域,方法步骤:将待填报的原始数据中字段名称和数据记录转换为CSV格式的原始数据集;根据YML模板文件的配置参数将原始数据集转换成YML格式的临时数据集;读取原始word文档获取待填报的所有表格,并根据配置参数tableIndex定位到指定表格;根据tableType的表头填报类型将临时数据集的字段名称和数据记录分别填写到指定表格的表头单元格和数据单元格中。本发明的方法和系统能够将原始数据自动填报到Word文档中的指定表格,部署方式简单,扩展性强,具有良好的应用前景。

Description

一种基于RPA的Word文档智能填报系统及其方法
技术领域
本发明涉及智能数据处理技术领域,尤其涉及一种基于RPA的Word文档智能填报系统及其方法。
背景技术
机器人流程自动化RPA(Robotic process automation)是以软件机器人为基础的业务过程自动化处理软件。该技术可以模拟人类的行为,将现有的手动任务或流程进行自动化操作,能够大大提高工作效率。RPA技术在电商、税务、银行、制造业、新零售、保险、物流、政府、公安等行业具有广泛的应用前景。
Word文档的填报已广泛应用于数据填报、材料评审、材料审核、信息抽取、资料整理、文档归档等工作场景。例如,每个月从考勤系统的数据库中读取企业员工的考勤数据,然后根据这些数据填报到指定Word文档中的考勤记录表。这些工作的特点是业务处理流程基本固定,需要填报的Word文档的格式也基本不变,但需要填写的数据经常变化,且存在繁琐的、重复的Word手工操作,大大降低工作效率以及较高的人为出错概率。
发明内容
本发明的目的在于克服现有技术中的不足,提供一种基于RPA的Word文档智能填报系统及其方法,能够将原始数据自动填报到Word文档中的指定表格,部署方式简单,工作效率高,准确性高,扩展性强。
为达到上述目的,本发明是采用下述技术方案实现的:
一方面,本发明提供了一种基于RPA的Word文档智能填报方法,包括如下步骤:
基于待填报原始word文档的表格表头信息将获取的原始数据转换为CSV格式的原始数据集;
将原始数据集转换成YML格式的临时数据集,所述临时数据集的配置参数包括tableIndex,tableType和tableData,所述tableIndex用于存储待填报原始word文档的表格编号,所述tableType用于存储所述表格的表头填报类型,所述tableData用于存储与所述表格的表头相对应的原始数据集的字段数据;
读取待填报原始word文档获取待填报的所有表格,并根据临时数据集的配置参数tableIndex定位到原始Word文档中指定表格;
将所述tableData中的字段数据按照配置参数tableType的表头填报类型填写到所述指定表格的表头单元格所对应的数据单元格中。
进一步的,还包括获取待填报的原始数据,原始数据的获取方法包括从数据库、消息队列、日志文件或配置文件中采集指定数据。
进一步的,原始数据集的CSV格式表示为:
c1,c2,…,cN
v11,v12,…,v1N
v21,v22,…,v2N
……
vM1,vM2,…,vMN
其中,[c1,c2,…,cN]为CVS格式数据的N个字段名称集合,[v11,v12,…,v1N]为第1条数据记录,[v21,v22,…,v2N]为第2条数据记录,[vM1,vM2,…,vMN]为第M条数据记录。
进一步的,将原始数据集转换成YML格式的临时数据集的方法包括如下步骤:
读取YML模板文件并解析获得YML模板文件的tableIndex,tableType和tableMap配置参数;
读取原始数据集并解析获得原始数据集的字段名称集合[c1,c2,…,cN]和对应的所有数据记录;
依次遍历所有数据记录,对每一条数据记录[vM1,vM2,…,vMN]进行解析,将每一条数据记录中的每一个元素与字段名称集合[c1,c2,…,cN]中对应的元素建立对应关系,形成哈希表HC,哈希表HC表示为{<c1,[v11,v21,…,vM1]>,<c2,[v12,v22,…,vM2]>,…,<cN,[v1N,v2N,…,VMN]>};
解析YML模板文件的tableMap参数,建立字段名称集合[c1,c2,…,cN]中每一个元素与原始Word文档表格的表头名称集合[w1,w2,…,wN]中对应元素的对应关系,将哈希表HC转换为哈希表HW,哈希表HW表示为{<w1,[v11,v21,..vM1]>,<w2,[v12,v22,…,vM2]>,…<wN,[v1N,v2N,…,VMN]>};
创建YML数据格式的临时数据集,将YML模板文件的配置参数tableIndex和tableType保存到临时数据集中;
将哈希表HW保存到临时数据集的配置参数tableData中。
进一步的,YML模板文件的数据格式如下所示:
tableIndex:Word表格编号
tableType:“colum/row”
tableMap:
-c1:w1
-c2:w2
……
-cN:wN
其中,tableIndex表示原始Word文件中的表格编号,tableType表示文档表格的填报类型,colum表示按列填报,row表示按行填报。
进一步的,临时数据集的数据格式如下所示:
tableIndex:Word表格的编号
tableType:“colum/row”
tableData:
-w1:[v11,v21,...,vM1]
-w2:[v12,v22,...,vM2]
-wN:[v1N,v2N,...,vMN]。
进一步的,根据tableType的表头填报类型将所述临时数据集的字段名称和数据记录分别填写到所述指定表格的表头单元格和数据单元格中的方法包括如下步骤:
读取原始Word文件,依次解析出原始Word文件中的所有表格,并根据配置参数tableIndex定位到指定表格T;
解析所述指定表格T获得表头名称列表Head,Head可以表示为[w1,w2,…,wN];
遍历表头名称列表Head,确定每一个表头名称对应的单元格起始坐标位置,并根据tableType的表头填报类型确定数据单元格中数据的填报方式:
若tableType的值为“column”,读取tableData中哈希表HW,获得表头名称列表Head对应的数据记录,根据单元格的起始坐标位置按列填报的方式将数据记录填写到指定单元格的数据单元格中;
若tableType的值“row”,读取tableData中哈希表HW,获得表头名称列表Head对应的数据记录,根据单元格的起始坐标位置按行填报的方式将数据记录填写到指定单元格的数据单元格中;
将填报数据记录的原始Word文件进行保存,形成目标Word文件。
进一步的,确定每一个表头名称对应的单元格起始坐标位置的方法包括如下步骤:
遍历表头名称列表Head,根据tableType的表头填报类型确定每一个表头数据填报的初始数据单元格的起始坐标位置:
若tableType的值为“column”,初始数据单元格的起始坐标位置在对应表头所在行的下方第一个单元格;
若tableType的值为“row”,初始数据单元格的起始坐标位置在对应表头所在列的右侧第一个单元格。
进一步的,所述表头名称列表Head中各表头与对应的初始单元格的起始坐标位置采用哈希表Loc建立对应关系,所述哈希表Loc的数据格式表示为:
{<w1,p1>,<w2,p2>,…,<wN,pN>}
其中,p1、…、pN为对应的初始数据单元格的起始坐标位置。
另一方面,本发明提供了一种基于RPA的Word文档智能填报系统,包括如下模块:
数据采集模块,用于基于待填报原始word文档的表格表头信息将获取的原始数据转换为CSV格式的原始数据集;
数据预处理模块,用于将原始数据集转换成YML格式的临时数据集,所述临时数据集的配置参数包括tableIndex,tableType和tableData,所述tableIndex用于存储待填报原始word文档的表格编号,所述tableType用于存储所述表格的表头填报类型,所述tableData用于存储与所述表格的表头相对应的原始数据集的字段数据;
数据智能填报模块,用于读取待填报原始word文档获取待填报的所有表格,并根据临时数据集的配置参数tableIndex定位到原始Word文档中指定表格;
还用于将所述tableData中的字段数据按照配置参数tableType的表头填报类型填写到所述指定表格的表头单元格所对应的数据单元格中。
与现有技术相比,本发明所达到的有益效果:
本发明通过将原始数据中的字段名称和数据记录转换为CSV格式的原始数据集,并进一步转换成YML格式的临时数据集,然后读取解析word文档的所有表格,通过配置参数tableIndex定位到指定表格,再根据tableType的表头填报类型将原始数据自动填报到word文件的相关单元格中,其方法和系统的部署方式简单,工作效率高,准确性高,扩展性强。
附图说明
图1是本发明实施例提供的一种基于RPA的Word文档智能填报方法的流程图;
图2是本发明实施例提供的一种基于RPA的Word文档智能填报系统的框图;
图3是本发明实施例提供的一种基于RPA的Word文档智能填报系统的操作流程图。
具体实施方式
下面结合附图对本发明作进一步描述。以下实施例仅用于更加清楚地说明本发明的技术方案,而不能以此来限制本发明的保护范围。
在本发明的描述中,需要理解的是,术语“中心”、“纵向”、“横向”、“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”等的特征可以明示或者隐含地包括一个或者更多个该特征。在本发明的描述中,除非另有说明,“多个”的含义是两个或两个以上。
在本发明的描述中,需要说明的是,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以通过具体情况理解上述术语在本发明中的具体含义。
实施例1
如图1所示,本发明实施例提供了一种基于RPA的Word文档智能填报方法,包括如下步骤:
基于待填报原始word文档的表格表头信息,将待填报的原始数据中字段名称和数据记录转换为CSV格式的原始数据集,其中,字段名称对应于待填报原始word文档的表格表头名称信息,数据记录为各个表头对应的待填报数据;
根据YML(Yet Another Markup Language)模板文件的配置参数将原始数据集转换成YML格式的临时数据集,其中,YML模板文件的配置参数包括tableIndex,tableType和tableMap,配置参数tableIndex用于存储表格编号,tableType用于存储表头填报类型,tableMap用于存储原始数据集的字段名称和数据记录;临时数据集的配置参数包括tableIndex,tableType和tableData,配置参数tableIndex用于存储待填报原始word文档的表格编号,tableType用于存储表格的表头填报类型,tableData用于存储与表格的表头相对应的原始数据集的字段数据。
读取原始word文档获取待填报的所有表格,并根据临时数据集的配置参数tableIndex定位到原始Word文档中指定表格;
根据tableType的表头填报类型将临时数据集的字段名称和数据记录分别填写到指定表格的表头单元格和数据单元格中。
在本实施例中,基于RPA的Word文档智能填报方法还包括获取待填报的原始数据,原始数据的获取方法包括从数据库、消息队列、日志文件或配置文件中采集指定数据。
具体地,原始数据集的CSV格式表示为:
c1,c2,…,cN
v11,v12,…,v1N
v21,v22,…,v2N
……
vM1,vM2,…,vMN
其中,[c1,c2,…,cN]为CVS格式数据的N个字段名称集合,字段名称对应于原始Word文档表格表头名称,[v11,v12,…,v1N]为第1条数据记录,[v21,v22,…,v2N]为第2条数据记录,[vM1,vM2,…,vMN]为第M条数据记录。
在本实施例中,将原始数据集转换成YML格式的临时数据集的方法包括如下步骤:
读取YML模板文件并解析获得YML模板文件的tableIndex,tableType和tableMap配置参数;
读取原始数据集并解析获得原始数据集的字段名称集合[c1,c2,…,cN]和对应的所有数据记录;
依次遍历所有数据记录,对每一条数据记录[vM1,vM2,…,vMN]进行解析,将每一条数据记录中的每一个元素与字段名称集合[c1,c2,…,cN]中对应的元素建立对应关系,形成哈希表HC,哈希表HC表示为{<c1,[v11,v21,…,vM1]>,<c2,[v12,v22,…,vM2]>,…,<cN,[v1N,v2N,…,VMN]>};
解析YML模板文件的tableMap参数,建立字段名称集合[c1,c2,…,cN]中每一个元素与原始Word文档表格的表头名称集合[w1,w2,…,wN]中对应元素的对应关系,将哈希表HC转换为哈希表HW,哈希表HW表示为{<w1,[v11,v21,..vM1]>,<w2,[v12,v22,…,vM2]>,…<wN,[v1N,v2N,…,VMN]>};创建YML数据格式的临时数据集,将YML模板文件的配置参数tableIndex和tableType保存到临时数据集中;
将哈希表HW保存到临时数据集的配置参数tableData中。
具体地,YML模板文件的数据格式如下所示:
tableIndex:Word表格编号
tableType:“colum/row”
tableMap:
-c1:w1
-c2:w2
……
-cN:wN
其中,tableIndex表示原始Word文件中的表格编号,tableType表示文档表格的填报类型,colum表示按列填报,row表示按行填报。
一个Word文档的表格由表头单元格和数据单元格组成。如果表头是按行方式排列,则数据单元格的填写按列的方式,即从上到下的顺序填写,如下表1所示,表中仅列出三列数据做解释说明,本发明实施例对表格数据列数不做限制要求。
表1:
表头名称1 表头名称2 表头名称3
数据11 数据21 数据31
数据12 数据22 数据32
如果表头是列方式排列,则数据的填写按行的方式,即从左到右的顺序填写,如下表2所示,表中仅列出三行数据做解释说明,本发明实施例对表格数据行数不做限制要求。
表2:
表头名称1 数据11 数据12
表头名称2 数据21 数据22
表头名称3 数据31 数据32
在本实施例中,tableIndex表示原始Word文件中的表格编号,即要填报的Word文件中表格的编号,一个原始Word文档可以包含多个表格,这些表格按照在文档中依次出现的顺序进行编号。
tableType参数的取值范围为[“column”,“row”],其中“column”表示数据单元格按列的方式填写,“row”表示数据单元格按行的方式填写。
tableMap参数配置了CSV原始数据集A的字段和Word表头名称之间的对应关系。
具体地,临时数据集的数据格式如下所示:
tableIndex:Word表格的编号
tableType:“colum/row”
tableData:
-w1:[v11,v21,...,vM1]
-w2:[v12,v22,...,vM2]
-wN:[v1N,v2N,...,vMN]。
在本实施例中,根据tableType的表头填报类型将所述临时数据集的字段名称和数据记录分别填写到所述指定表格的表头单元格和数据单元格中的方法包括如下步骤:
读取原始Word文件,依次解析出原始Word文件中的所有表格,并根据配置参数tableIndex定位到指定表格T;
解析所述指定表格T获得表头名称列表Head,Head可以表示为[w1,w2,…,wN];
遍历表头名称列表Head,确定每一个表头名称对应的单元格起始坐标位置,并根据tableType的表头填报类型确定数据单元格中数据的填报方式:
若tableType的值为“column”,读取tableData中哈希表HW,获得表头名称列表Head对应的数据记录,根据单元格的起始坐标位置按列填报的方式将数据记录填写到指定单元格的数据单元格中;
若tableType的值“row”,读取tableData中哈希表HW,获得表头名称列表Head对应的数据记录,根据单元格的起始坐标位置按行填报的方式将数据记录填写到指定单元格的数据单元格中;
将填报数据记录的原始Word文件进行保存,形成目标Word文件。
进一步的,确定每一个表头名称对应的单元格起始坐标位置的方法包括如下步骤:
遍历表头名称列表Head,根据tableType的表头填报类型确定每一个表头数据填报的初始数据单元格的起始坐标位置:
若tableType的值为“column”,初始数据单元格的起始坐标位置在对应表头所在行的下方第一个单元格;
若tableType的值为“row”,初始数据单元格的起始坐标位置在对应表头所在列的右侧第一个单元格。
进一步的,所述表头名称列表Head中各表头与对应的初始单元格的起始坐标位置采用哈希表Loc建立对应关系,所述哈希表Loc的数据格式表示为:
{<w1,p1>,<w2,p2>,…,<wN,pN>}
其中,p1、…、pN为对应的初始数据单元格的起始坐标位置。
另一方面,本发明实施例提供了一种基于RPA的Word文档智能填报系统,包括如下模块:
数据采集模块,用于基于待填报原始word文档的表格表头信息将获取的原始数据转换为CSV格式的原始数据集;
数据预处理模块,用于将原始数据集转换成YML格式的临时数据集,所述临时数据集的配置参数包括tableIndex,tableType和tableData,所述tableIndex用于存储待填报原始word文档的表格编号,所述tableType用于存储所述表格的表头填报类型,所述tableData用于存储与所述表格的表头相对应的原始数据集的字段数据;
数据智能填报模块,用于读取待填报原始word文档获取待填报的所有表格,并根据临时数据集的配置参数tableIndex定位到原始Word文档中指定表格;
还用于将所述tableData中的字段数据按照配置参数tableType的表头填报类型填写到所述指定表格的表头单元格所对应的数据单元格中
接下来结合具体实施例说明本发明实施例提供的基于RPA的Word文档智能填报系统及其方法的详细操作步骤,具体如下。
步骤1、数据采集模块使用JDBC(Java DataBase Connectivity)技术向数据库发起连接,连接字符串指定数据库的用户名、密码,然后从数据库表TX中读取相应的原始数据记录。
步骤2、数据采集模块获得数据库表TX获得对应的表字段名称列表,表TX字段名称列表可以用[c1,c2,…,cN]表示,然后使用JavaCSV库将表TX的字段名称列表[c1,c2,…,cN]保存到CSV原始数据集A中的第一行,所有字段之间用逗号分隔,数据库中读取的数据保存到CSV原始数据集A中。
步骤3、数据采集模块使用游标遍历表TX,然后将每一条记录依次保存到CSV原始数据集A中,记录中所有数据用逗号分隔,形成完整的CSV原始数据集A。CSV原始数据集A的数据格式可以表示如下:
c1,c2,…,cN
v11,v12,…,v1N
v21,v22,…,v2N
……
vM1,vM2,…,vMN
其中,[c1,c2,…,cN]为CVS数据的字段名称集合,[v11,v12,…,v1N]为第1条记录的数据,[v21,v22,…,v2N]为第2条记录的数据,[vM1,vM2,…,vMN]为第M条记录的数据。
步骤4、数据预处理模块使用snakeymal库读取包含待填报原始word文档表格相关参数(如表格编号、填报类型方式等)的YML模板文件,分别解析出tableIndex、tableType和tableMap参数。
步骤5、数据预处理模块读取CSV原始数据集A,解析出字段名称集合[c1,c2,…,cN]和所有的数据记录,然后创建哈希表HC,哈希表HC用于记录每一个字段名称和对应的数据记录。
步骤6、数据预处理模块将字段名称集合[c1,c2,…,cN]中所有元素插入到哈希表HC中作为key键,然后读取CSV原始数据集A中的所有记录:
首先对第1条记录[v11,v12,…,v1N]进行解析,将v11插入到哈希表HC的key键c1对应的数据集合中,然后将v12、…、V1N按照同样的方式操作,此时哈希表HC可以表示为{<c1,[v11]>,<c2,[v12]>,…,<cN,[v1N]>}。
步骤7、数据预处理模块对原始数据集A中的第2条至第n条纪录均按第1条纪录的处理方式进行操作,即将记录中的每一个元素与[c1,c2,…,cN]中对应的元素建立对应关系,最终的哈希表HC可以表示为{<c1,[v11,v21,…,vM1]>,<c2,[v12,v22,…,vM2]>,…<cN,[v1N,v2N,…,VMN]>}。
步骤8、数据预处理模块解析tableMap参数,获得[c1,c2,…,cN]中每一个元素与表头名称列表[w1,w2,…,wN]中对应元素的对应关系,tableMap可以表示为{<c1,w1>,<c2,w2>,…,<cN,wN>}。
步骤9、数据预处理模块创建哈希表HW,并遍历tableMap,首先获得tableMap的第1个元素<c1,w1>,根据c1检索哈希表HC的key键,获得对应的值[v11,v12,..vM1];然后将元素<c1,w1>中的w1作为key键,将[v11,v21,..vM1]作为对应的值插入到哈希表HW中。
步骤10、数据预处理模块继续遍历tableMap,对tableMap表中的第2至第N个元素均按步骤9的方式进行操作,此时的哈希表HW可以表示为{<w1,[v11,v21,..vM1]>,<w2,[v12,v22,…,vM2]>,…<wN,[v1N,v2N,…,VMN]>}。
步骤11、数据预处理模块创建YML临时数据集B,将tableIndex和tableType数据保存到YML临时数据集B中,然后根据哈希表HW生成tableData参数,并将tableData参数保存到YML临时数据集B中。
步骤12、数据智能填报模块使用jacob库读取原始Word文件,依次解析出Word文件中的所有表格,并根据tableIndex定位到指定的表格T,然后解析表格T获得表头名称列表Head,Head可以表示为[w1,w2,…,wN],此处的表头名称集合即为原始Word文档待填报表格的表头信息,也以此表头名称信息对原始数据进行字段处理获得CSV格式的原始数据集。
步骤13、数据智能填报模块遍历Head列表[h1,h2,…,hN],根据tableType确定每一个表头数据填报的初始数据单元格(cell)位置。
如果tableType的值为“column”,则表示数据单元格按列的方式填写,因此初始数据单元格的位置在对应表头的下方的第一个单元格;
如果tableType的值为“row”,则表示数据单元格按行的方式填写,因此初始数据单元格的位置在对应表头的右侧的第一个单元格;
表头与对应的初始单元格的位置信息可以用哈希表Loc保存,哈希表Loc可以表示为{<w1,p1>,<w2,p2>,…,<wN,pN>},其中p1、…、pN为对应的初始数据单元格的位置。
步骤14、数据智能填报模块使用snakeymal库读取YML临时数据集B,解析出tableData参数,并将其转换为哈希表HW。数据智能填报模块遍历哈希表HW,获得key键列表[w1,w2,…,wN],并用key键列表中的第1个元素w1作为key,在哈希表Loc中查找对应的数据单元格位置X。
步骤15、数据智能填报模块读取哈希表HW,通过w1获得对应的数据列表[v11,v21,..,vM1],然后根据tableType填写数据:
如果tableType的值为“row”,则将v11填写到位置X所在的单元格中,再将v12填写到位置X右侧的第一个单元格中。以此类推,可以将数据列表[v11,v21,…,vM1]都填写到表格T中指定的单元格中。
如果tableType的值为“colum”,则将v11填写到位置X所在的单元格,将v12填写到位置X下侧的第一个单元格中,以此类推,可以将数据列表[v11,v21,…,vN1]都填写到表格T中指定的单元格中。
步骤16、数据智能填报模块继续遍历哈希表HW的key键列表[w1,w2,…,wN],对key键列表中的第2个元素w2至第N个元素wN均按照步骤15的方式进行操作,将[v11,v21,..,vM1],…,[v1N,v2N,…,VMN]依次填写到表格T中指定的单元格中。
步骤17、数据智能填报模块将原始Word文件进行保存,形成目标Word文件。
如下采用具体实施例进行方法描述,具体如下:
1)假设有一个原始word文档有一个如下待填报表格:
学号A 姓名A 成绩A
这个表格的表头[学号,姓名,成绩]是事先已经填好的,但内容都是空的,现在需自动填写这些空的内容。
2)为了填写数据,数据采集模块从数据库/日志/消息队列中查找到了[学号,姓名,成绩]对应的数据,然后把这些数据整理成了原始数据集的CSV文件,这个CSV文件格式采用如下实例进行解释描述:
学号X,姓名X,成绩X
1,张三,90
2,李四,80
结合本发明实施例中CSV格式字母参数表示如下:
学号X(c1),姓名X(c2),…,成绩X(cN)
1(v11),张三(v12),…,90(v1N)
2(v21),李四(v22),…,80(v2N)
上述结合字母参数的格式描述是为了更好地理解CSV数据格式,而非限定为如上结合字母参数的数据格式。
3)CSV文件中的字段与word表格的字段可能不一致(因为word表格中的字段可能经常会修改变更),为了正确地将CSV文件的内容填写到word中,要提前配置好YML模板文件,建立CVS字段和word表格表头名称字段对应的关系,如下实例所描述:
tableIndex:1
tableType:“colum”
tableMap:
-学号X:学号A
-姓名X:姓名A
-成绩X:成绩A
……
-cN:wN
在此过程中,使原始数据中字段名称与待填报word表格表头名称建立对应关系。
4)获得了YML模板文件文件,就可以将CSV文件的数据转换为YML临时数据集,结合实例数据描述如下:
tableIndex:1
tableType:“colum”
tableData:
-学号A:[1,2]
-姓名A:[张三,李四]
-成绩A:[90,80]
在此过程中,临时数据集中保存了表格编号、填报类型方式以及需填报的数据信息。
5)获得了YML临时数据集,数据智能填报模块就能把YML格式临时数据集中的数据记录填写到待填报的原始word文档表格中,先根据tableIndex获得指定表格,然后根据配置项“-学号A:[1,2]”,找到word表格的“学号A”列,然后根据配置项tableType:“colum”,确定word表格的“学号A”列是按列方式填写。
然后数据智能填报模块先解析原始word文档表格,找到word表格的“学号A”的初始单元格位置X,即学号A正下方第一个单元格:
学号A 姓名A 成绩A
(位置X)
然后在位置X上填写1:
学号A 姓名A 成绩A
1
然后在位置X下侧的第一个单元填写2,以此类推将待填报数据的学号字段填写完毕:
学号A 姓名A 成绩A
1
2
再根据配置项“-姓名A:[张三,李四]”,重复以上操作,分别将姓名和成绩字段数据填写入相应的单元格中,如下所示:
学号A 姓名A 成绩A
1 张三
2 李四
再根据配置项“-成绩A:[90,80]”,重复以上操作:
学号A 姓名A 成绩A
1 张三 90
2 李四 80
至此完成WORD文档智能填报,以上具体实施例为便于解释说明本发明实施例所提供的填报方法操作原理,其具体数据不对本发明实施例的技术方案做限制性描述。
综上,本发明实施例通过将原始数据中的字段名称和数据记录转换为CSV格式的原始数据集,并进一步转换成YML格式的临时数据集,然后读取解析word文档的所有表格,通过配置参数tableIndex定位到指定表格,再根据tableType的表头填报类型将原始数据自动填报到word文件的相关单元格中,在此过程中通过创建哈希表存储相应的数据记录,并建立相应的对应关系便于追踪获取相应数据,准确性高,工作效率高;其方法和系统的部署方式简单,扩展性强。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和变形,这些改进和变形也应视为本发明的保护范围。

Claims (10)

1.一种基于RPA的Word文档智能填报方法,其特征在于,包括如下步骤:
基于待填报原始word文档的表格表头信息将获取的原始数据转换为CSV格式的原始数据集;
将原始数据集转换成YML格式的临时数据集,所述临时数据集的配置参数包括tableIndex,tableType和tableData,所述tableIndex用于存储待填报原始word文档的表格编号,所述tableType用于存储所述表格的表头填报类型,所述tableData用于存储与所述表格的表头相对应的原始数据集的字段数据;
读取待填报原始word文档获取待填报的所有表格,并根据临时数据集的配置参数tableIndex定位到原始Word文档中指定表格;
将所述tableData中的字段数据按照配置参数tableType的表头填报类型填写到所述指定表格的表头单元格所对应的数据单元格中。
2.根据权利要求1所述的基于RPA的Word文档智能填报方法,其特征在于,还包括获取待填报的原始数据,原始数据的获取方法包括从数据库、消息队列、日志文件或配置文件中采集指定数据。
3.根据权利要求1所述的基于RPA的Word文档智能填报方法,其特征在于,原始数据集的CSV格式表示为:
c1,c2,…,cN
v11,v12,…,v1N
v21,v22,…,v2N
……
vM1,vM2,…,vMN
其中,[c1,c2,…,cN]为CVS格式数据的N个字段名称集合,[v11,v12,…,v1N]为第1条数据记录,[v21,v22,…,v2N]为第2条数据记录,[vM1,vM2,…,vMN]为第M条数据记录。
4.根据权利要求3所述的基于RPA的Word文档智能填报方法,其特征在于,将原始数据集转换成YML格式的临时数据集的方法包括如下步骤:
读取YML模板文件并解析获得YML模板文件的tableIndex,tableType和tableMap配置参数;
读取原始数据集并解析获得原始数据集的字段名称集合[c1,c2,…,cN]和对应的所有数据记录;
依次遍历所有数据记录,对每一条数据记录[vM1,vM2,…,vMN]进行解析,将每一条数据记录中的每一个元素与字段名称集合[c1,c2,…,cN]中对应的元素建立对应关系,形成哈希表HC,哈希表HC表示为{<c1,[v11,v21,…,vM1]>,<c2,[v12,v22,…,vM2]>,…,<cN,[v1N,v2N,…,VMN]>};
解析YML模板文件的tableMap参数,建立字段名称集合[c1,c2,…,cN]中每一个元素与原始Word文档表格的表头名称集合[w1,w2,…,wN]中对应元素的对应关系,将哈希表HC转换为哈希表HW,哈希表HW表示为{<w1,[v11,v21,..vM1]>,<w2,[v12,v22,…,vM2]>,…<wN,[v1N,v2N,…,VMN]>};
创建YML数据格式的临时数据集,将YML模板文件的配置参数tableIndex和tableType保存到临时数据集中;
将哈希表HW保存到临时数据集的配置参数tableData中。
5.根据权利要求4所述的基于RPA的Word文档智能填报方法,其特征在于,YML模板文件的数据格式如下所示:
tableIndex:Word表格编号
tableType:“colum/row”
tableMap:
-c1:w1
-c2:w2
……
-cN:wN
其中,tableIndex表示原始Word文件中的表格编号,tableType表示文档表格的填报类型,colum表示按列填报,row表示按行填报。
6.根据权利要求5所述的基于RPA的Word文档智能填报方法,其特征在于,临时数据集的数据格式如下所示:
tableIndex:Word表格的编号
tableType:“colum/row”
tableData:
-w1:[v11,v21,...,vM1]
-w2:[v12,v22,...,vM2]
-wN:[v1N,v2N,...,vMN]。
7.根据权利要求6所述的基于RPA的Word文档智能填报方法,其特征在于,根据tableType的表头填报类型将所述临时数据集的字段名称和数据记录分别填写到所述指定表格的表头单元格和数据单元格中的方法包括如下步骤:
读取原始Word文件,依次解析出原始Word文件中的所有表格,并根据配置参数tableIndex定位到指定表格T;
解析所述指定表格T获得表头名称列表Head,Head可以表示为[w1,w2,…,wN];
遍历表头名称列表Head,确定每一个表头名称对应的单元格起始坐标位置,并根据tableType的表头填报类型确定数据单元格中数据的填报方式:
若tableType的值为“column”,读取tableData中哈希表HW,获得表头名称列表Head对应的数据记录,根据单元格的起始坐标位置按列填报的方式将数据记录填写到指定单元格的数据单元格中;
若tableType的值“row”,读取tableData中哈希表HW,获得表头名称列表Head对应的数据记录,根据单元格的起始坐标位置按行填报的方式将数据记录填写到指定单元格的数据单元格中;
将填报数据记录的原始Word文件进行保存,形成目标Word文件。
8.根据权利要求7所述的基于RPA的Word文档智能填报方法,其特征在于,确定每一个表头名称对应的单元格起始坐标位置的方法包括如下步骤:
遍历表头名称列表Head,根据tableType的表头填报类型确定每一个表头数据填报的初始数据单元格的起始坐标位置:
若tableType的值为“column”,初始数据单元格的起始坐标位置在对应表头所在行的下方第一个单元格;
若tableType的值为“row”,初始数据单元格的起始坐标位置在对应表头所在列的右侧第一个单元格。
9.根据权利要求8所述的基于RPA的Word文档智能填报方法,其特征在于,所述表头名称列表Head中各表头与对应的初始单元格的起始坐标位置采用哈希表Loc建立对应关系,所述哈希表Loc的数据格式表示为:
{<w1,p1>,<w2,p2>,…,<wN,pN>}
其中,p1、…、pN为对应的初始数据单元格的起始坐标位置。
10.一种基于RPA的Word文档智能填报系统,其特征在于,包括如下模块:
数据采集模块,用于获取待填报的原始数据,并将原始数据中的字段名称和数据记录转换为CSV格式的原始数据集;
数据预处理模块,用于根据YML模板文件的配置参数将原始数据集转换成YML格式的临时数据集,所述配置参数包括tableIndex,tableType,tableMap,所述tableIndex用于存储表格编号,所述tableType用于存储表头填报类型,所述填报类型包括按行填报和按列填报,所述tableMap用于存储原始数据集的字段名称和数据记录;
数据智能填报模块,用于读取原始word文档获取待填报的所有表格,并根据配置参数tableIndex定位到指定表格;
还用于根据tableType的表头填报类型将所述临时数据集的字段名称和数据记录分别填写到所述指定表格的表头单元格和数据单元格中。
CN202110264625.9A 2021-03-11 2021-03-11 一种基于RPA的Word文档智能填报系统及其方法 Active CN113011143B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110264625.9A CN113011143B (zh) 2021-03-11 2021-03-11 一种基于RPA的Word文档智能填报系统及其方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110264625.9A CN113011143B (zh) 2021-03-11 2021-03-11 一种基于RPA的Word文档智能填报系统及其方法

Publications (2)

Publication Number Publication Date
CN113011143A true CN113011143A (zh) 2021-06-22
CN113011143B CN113011143B (zh) 2023-06-27

Family

ID=76405042

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110264625.9A Active CN113011143B (zh) 2021-03-11 2021-03-11 一种基于RPA的Word文档智能填报系统及其方法

Country Status (1)

Country Link
CN (1) CN113011143B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117494702A (zh) * 2024-01-02 2024-02-02 杭州瑞欧科技有限公司 一种结合rpa和ai的数据推送方法及系统

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105893482A (zh) * 2016-03-29 2016-08-24 西安航天动力试验技术研究所 发动机试验数据全自动化提取与Word报告生成方法
CN107329891A (zh) * 2017-06-06 2017-11-07 千寻位置网络有限公司 基于结构化数据及rest接口的自动化回归测试方法
US20170351511A1 (en) * 2015-12-22 2017-12-07 Opera Solutions Usa, Llc System and Method for Code and Data Versioning in Computerized Data Modeling and Analysis
US20180053007A1 (en) * 2016-08-22 2018-02-22 Accenture Global Solutions Limited Network communication stack for database control and resource planning
WO2019157399A1 (en) * 2018-02-08 2019-08-15 Parallel Wireless, Inc. Data pipeline for scalable analytics and management
US20200210443A1 (en) * 2018-12-28 2020-07-02 Accenture Global Solutions Limited Cloud-Based Database-Less Serverless Framework Using Data Foundation
CN111638930A (zh) * 2020-05-27 2020-09-08 齐力软件科技(广州)有限公司 基于shell配置iOS多语言脚本方法及系统
CN112231320A (zh) * 2020-10-16 2021-01-15 南京信息职业技术学院 基于MapReduce算法的web数据采集方法、系统和存储介质

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170351511A1 (en) * 2015-12-22 2017-12-07 Opera Solutions Usa, Llc System and Method for Code and Data Versioning in Computerized Data Modeling and Analysis
CN105893482A (zh) * 2016-03-29 2016-08-24 西安航天动力试验技术研究所 发动机试验数据全自动化提取与Word报告生成方法
US20180053007A1 (en) * 2016-08-22 2018-02-22 Accenture Global Solutions Limited Network communication stack for database control and resource planning
CN107329891A (zh) * 2017-06-06 2017-11-07 千寻位置网络有限公司 基于结构化数据及rest接口的自动化回归测试方法
WO2019157399A1 (en) * 2018-02-08 2019-08-15 Parallel Wireless, Inc. Data pipeline for scalable analytics and management
US20200210443A1 (en) * 2018-12-28 2020-07-02 Accenture Global Solutions Limited Cloud-Based Database-Less Serverless Framework Using Data Foundation
CN111638930A (zh) * 2020-05-27 2020-09-08 齐力软件科技(广州)有限公司 基于shell配置iOS多语言脚本方法及系统
CN112231320A (zh) * 2020-10-16 2021-01-15 南京信息职业技术学院 基于MapReduce算法的web数据采集方法、系统和存储介质

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
BENJAMIN A. NEWMAN 等: "HARMONIC: A Multimodal data set of assistive human-robot collaboration", 《ARXIV》, pages 1 - 8 *
李方方 等: "基于jQuery Mobile的画图功能的设计与实现", 《电子技术与软件工程》, pages 76 - 77 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117494702A (zh) * 2024-01-02 2024-02-02 杭州瑞欧科技有限公司 一种结合rpa和ai的数据推送方法及系统
CN117494702B (zh) * 2024-01-02 2024-04-02 杭州瑞欧科技有限公司 一种结合rpa和ai的数据推送方法及系统

Also Published As

Publication number Publication date
CN113011143B (zh) 2023-06-27

Similar Documents

Publication Publication Date Title
CN113011142B (zh) 一种基于RPA的Excel文档智能填报系统及其方法
US11182604B1 (en) Computerized recognition and extraction of tables in digitized documents
US20160055376A1 (en) Method and system for identification and extraction of data from structured documents
CN112036144A (zh) 数据解析方法、装置、计算机设备和可读存储介质
CN112328589B (zh) 一种电子表格数据颗粒化及指标标准化处理方法
CN111414740A (zh) 一种电子实验记录本报告生成系统
CN113011143A (zh) 一种基于RPA的Word文档智能填报系统及其方法
CN102486772A (zh) 一种数据的导出方法及装置
EP1510935A1 (en) Mapping a data from a data warehouse to a data mart
CN107844960B (zh) 一种自动化智能分析商业计划书的投资分析工具
CN110457308A (zh) 一种账务数据处理分析方法及系统
CN110442653A (zh) 增量构建cube模型的方法、装置、服务器及存储介质
CN110837604B (zh) 基于住房监控平台的数据分析方法及装置
CN115455266B (zh) 一种电子档案自动采集归档方法及系统
CN103679382A (zh) 一种信息统计管理系统
CN102117293B (zh) 文件动态定位及查询方法
CN115587098A (zh) 一种智能识别图表数据的方法及系统
CN115034917A (zh) 一种社保资金发放数据风险信息的筛查方法及装置
CN117349780B (zh) 一种基于数据分析的仓储数据智能识别管控系统及方法
CN111507066B (zh) 一种上传加载文件并解析入库方法及系统
CN116860909B (zh) 基于生化知识图谱的数据存储方法、系统及存储介质
CN117151080A (zh) 一种导入文件标题识别方法、装置、电子设备和存储介质
CN103744794A (zh) 数据存储的方法及装置
JP3109331B2 (ja) 帳票出力装置
US20220351303A1 (en) System and Method for Automated Acquisition and Integration of Survey Data

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
TR01 Transfer of patent right

Effective date of registration: 20240223

Address after: 200120 zone a, floor 2, No. 1200, Pudong Avenue, China (Shanghai) pilot Free Trade Zone, Pudong New Area, Shanghai

Patentee after: Shanghai Hezhu Digital Technology Co.,Ltd.

Country or region after: China

Address before: No.99 Wenlan Road, Xianlin University Town, Qixia District, Nanjing City, Jiangsu Province

Patentee before: Nanjing Vocational College of Information Technology

Country or region before: China

TR01 Transfer of patent right