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

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

Info

Publication number
CN113011142A
CN113011142A CN202110263419.6A CN202110263419A CN113011142A CN 113011142 A CN113011142 A CN 113011142A CN 202110263419 A CN202110263419 A CN 202110263419A CN 113011142 A CN113011142 A CN 113011142A
Authority
CN
China
Prior art keywords
data
header
original
filling
excel document
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
CN202110263419.6A
Other languages
English (en)
Other versions
CN113011142B (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 CN202110263419.6A priority Critical patent/CN113011142B/zh
Publication of CN113011142A publication Critical patent/CN113011142A/zh
Application granted granted Critical
Publication of CN113011142B publication Critical patent/CN113011142B/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
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/30Computing systems specially adapted for manufacturing

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

本发明公开了一种基于RPA的Excel文档智能填报系统及其方法,属于智能数据处理技术领域,方法步骤:基于待填报原始Excel文档的表格表头信息,将获取的原始数据转换为CSV格式的原始数据集,并转换成YML格式的临时数据集;利用虚拟DOM算法对待填报原始Excel文档进行解析,生成包含原始Excel文档表格的父表头、子表头及位置关系的虚拟DOM结构;基于所述虚拟DOM结构确定tableData中字段数据填报的起始位置,并按照填报类型填报到指定表格中。本发明提供的系统及其方法能够实现Excel文档表格的自动填报,降低了工作强度,提高了填报的准确性和效率。

Description

一种基于RPA的Excel文档智能填报系统及其方法
技术领域
本发明涉及智能数据处理技术领域,尤其涉及一种基于RPA的Excel文档智能填报系统及其方法。
背景技术
机器人流程自动化RPA(Robotic process automation)是以软件机器人为基础的业务过程自动化处理软件。该技术可以模拟人类的行为,将现有的手动任务或流程进行自动化操作,能够大大提高工作效率。RPA技术在电商、税务、银行、制造业、新零售、保险、物流、政府、公安等行业具有广泛的应用前景。
Excel表格的填报已广泛应用于数据填报、材料评审、材料审核、信息抽取、资料整理、文档归档等工作场景。例如,每个月从考勤系统的数据库中读取企业员工的考勤数据,然后根据这些数据填报到指定Excel的考勤记录表。这些工作的特点是业务处理流程基本固定,需要填报的Excel表格的格式也基本不变,但需要填写的数据经常变化,繁琐的、重复的Excel手工操作增加了工作强度和人为出错的机会。
发明内容
本发明的目的在于克服现有技术中的不足,提供一种基于RPA的Excel文档智能填报系统及其方法,能够实现Excel文档表格的自动填报,降低了工作强度,提高了填报的准确性和效率。
为达到上述目的,本发明是采用下述技术方案实现的:
一方面,本发明提供了一种基于RPA的Excel文档智能填报方法,包括如下步骤:
基于待填报原始Excel文档的表格表头信息,将获取的原始数据转换为CSV格式的原始数据集;
将原始数据集转换成YML格式的临时数据集,所述临时数据集的配置参数包括sheetName,tableType,parentHead和tableData,所述sheetName用于存储待填报原始Excel文档的工作表名称,所述tableType用于存储工作表中表格填报类型,所述parentHead用于存储表格的父表头名称,所述tableData用于存储与所述父表头的子表头相对应原始数据集的字段数据;
利用虚拟DOM算法对待填报原始Excel文档进行解析,生成包含原始Excel文档表格的父表头、子表头及位置关系的虚拟DOM结构;
基于所述虚拟DOM结构确定所述tableData中字段数据填报的起始位置,并按照所述tableType的填报类型填报到原始Excel文档的指定表格中。
进一步的,还包括获取待填报的原始数据,原始数据的获取方法包括从数据库、消息队列、日志文档或配置文档中采集指定数据。
进一步的,原始数据集的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模板文档的格式如下所示:
sheetName:工作表名称
tableType:“colum/row”
parentHead:[父表头名称列表]
tableMap:
-c1:w1
-c2:w2
……
-cN:wN
其中,sheetName表示原始Excel文档中的工作表名称,tableType表示Excel表格的填报类型,parentHead表示Excel表格中父表头名称列表,[w1,w2,…,wN]为Excel表格中子表头名称列表。
进一步的,所述临时数据集的格式如下表示:
sheetName:工作表名称
tableType:“colum/row”
parentHead:[父表头名称列表]
tableData:
-w1:[v11,v21,...,vM1]
-w2:[v12,v22,...,vM2]
-wN:[v1N,v2N,...,vMN]
其中,[w1,w2,…,wN]为Excel表格中子表头名称列表。
进一步的,将原始数据集转换成YML格式的临时数据集的方法包括如下步骤:
读取YML模板文档并解析获得YML模板文档的sheetName、tableType、parentHead和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模板文档的配置参数sheetName、tableType和parentHead保存到临时数据集中;
将哈希表HW保存到临时数据集的配置参数tableData中。
进一步的,利用虚拟DOM算法对待填报原始Excel文档进行解析,生成包含原始Excel文档表格的父表头、子表头及位置关系的虚拟DOM结构的方法包括如下步骤:
通过虚拟DOM算法对原始Excel文档进行解析,读取原始Excel文档获取每个工作表的所有非空单元格,并记录所述非空单元格的名称和位置的对应关系;
将所有非空单元格的名称和位置对应关系中父表头名称和位置的对应关系挂接到root根节点下,再将集合D中子表头名称和位置的对应关系挂接到对应的父节点下。
进一步的,基于所述虚拟DOM结构确定所述tableData中字段数据填报的起始位置的方法包括如下步骤:
根据parentHead参数查找所述虚拟DOM结构,获得父表头节点;
获得父表头节点的所有子节点集合,读取每一个子节点,找到与tableData中子表头对应的子节点的位置数据作为子表头填写字段数据的起始位置。
进一步的,按照所述tableType的填报类型填报到原始Excel文档的指定表格中的方法包括如下步骤:
根据tableType参数确定子表头数据的填写方式:
如果tableType取值为“column”,将子表头名称对应的字段数据按照行的方式填写到指定的单元格中。;
如果tableType取值为“row”,将子表头名称对应的字段数据按照列的方式填写到指定的单元格中。
另一方面,本发明提供了一种基于RPA的Excel文档智能填报系统,包括如下模块:
数据采集模块,用于基于待填报原始Excel文档的表格表头信息,将获取的原始数据转换为CSV格式的原始数据集;
数据预处理模块,用于将原始数据集转换成YML格式的临时数据集,所述临时数据集的配置参数包括sheetName,tableType,parentHead和tableData,所述sheetName用于存储待填报原始Excel文档的工作表名称,所述tableType用于存储工作表中表格填报类型,所述parentHead用于存储表格的父表头名称,所述tableData用于存储与所述父表头的子表头相对应原始数据集的字段数据;
数据智能解析模块,用于利用虚拟DOM算法对待填报原始Excel文档进行解析,生成包含原始Excel文档表格的父表头、子表头及位置关系的虚拟DOM结构;
数据智能填报模块,用于基于所述虚拟DOM结构确定所述tableData中字段数据填报的起始位置,并按照所述tableType的填报类型填报到原始Excel文档的指定表格中。
与现有技术相比,本发明所达到的有益效果:
本发明提供的基于RPA的Excel文档智能填报系统及其方法能够将获取的原始数据转化为CSV格式的原始数据集,进而形成YML格式的临时数据集,基于虚拟DOM结构识别待填报Excel表格的结构确定自动填报位置,按照预先设置的模板参数的填报类型实现数据自动填报,降低了工作强度,提高了填报的准确性和效率,简单且扩展性强,能够适用广泛应用场景。
附图说明
图1是本发明实施例提供的一种基于RPA的Excel文档智能填报方法的流程图;
图2是本发明实施例提供的一种基于RPA的Excel文档智能填报系统的操作流程图;
图3是本发明实施例提供的一种虚拟DOM结构的结构示意图;
图4是本发明实施例提供的一种基于RPA的Excel文档智能填报系统的框图。
具体实施方式
下面结合附图对本发明作进一步描述。以下实施例仅用于更加清楚地说明本发明的技术方案,而不能以此来限制本发明的保护范围。
在本发明的描述中,需要理解的是,术语“中心”、“纵向”、“横向”、“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”等的特征可以明示或者隐含地包括一个或者更多个该特征。在本发明的描述中,除非另有说明,“多个”的含义是两个或两个以上。
在本发明的描述中,需要说明的是,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以通过具体情况理解上述术语在本发明中的具体含义。
如图1所示,本发明实施例提供了一种基于RPA的excel文档智能填报方法,包括如下步骤:
基于待填报原始Excel文档的表格表头信息,将获取的原始数据转换为CSV格式的原始数据集;
将原始数据集转换成YML格式的临时数据集,所述临时数据集的配置参数包括sheetName,tableType,parentHead和tableData,所述sheetName用于存储待填报原始Excel文档的工作表名称,所述tableType用于存储工作表中表格填报类型,所述parentHead用于存储表格的父表头名称,所述tableData用于存储与所述父表头的子表头相对应原始数据集的字段数据;
利用虚拟DOM算法对待填报原始Excel文档进行解析,生成包含原始Excel文档表格的父表头、子表头及位置关系的虚拟DOM结构;
基于所述虚拟DOM结构确定所述tableData中字段数据填报的起始位置,并按照所述tableType的填报类型填报到原始Excel文档的指定表格中。
如图4所示,本发明实施例还提供了一种基于RPA的excel文档智能填报系统,包括如下模块:
数据采集模块,用于基于待填报原始Excel文档的表格表头信息,将获取的原始数据转换为CSV格式的原始数据集;
数据预处理模块,用于将原始数据集转换成YML格式的临时数据集,所述临时数据集的配置参数包括sheetName,tableType,parentHead和tableData,所述sheetName用于存储待填报原始Excel文档的工作表名称,所述tableType用于存储工作表中表格填报类型,所述parentHead用于存储表格的父表头名称,所述tableData用于存储与所述父表头的子表头相对应原始数据集的字段数据;
数据智能解析模块,用于利用虚拟DOM算法对待填报原始Excel文档进行解析,生成包含原始Excel文档表格的父表头、子表头及位置关系的虚拟DOM结构;
数据智能填报模块,用于基于所述虚拟DOM结构确定所述tableData中字段数据填报的起始位置,并按照所述tableType的填报类型填报到原始Excel文档的指定表格中。
在本实施例中,YML(Yet Another Markup Language)模板文档用于配置Excel文档智能填报相关的参数,包括sheetName、tableType、tableMap、parentHead等参数,YML模板文档的格式如下所示:
sheetName:工作表名称
tableType:“colum/row”
parentHead:[父表头名称列表]
tableMap:
-c1:w1
-c2:w2
……
-cN:wN
其中,参数sheetName表示原始Excel文档中的工作表(sheet)名称,一个Excel文档可以包括多个工作表(sheet),每个工作表(sheet)都有不同的名称。
参数tableType表示Excel表格的填报类型。一个Excel表格由表头单元格和数据单元格组成,如果表头是按行方式排列,则数据单元格的填写按列的方式,即从上到下的顺序填写,如下表1所示:
表1
Figure BDA0002971045060000091
Figure BDA0002971045060000101
如果表头是列方式排列,则数据的填写按行的方式,即从左到右的顺序填写,如下表2所示:
表2
表头名称1 数据11 数据12
表头名称2 数据21 数据22
表头名称3 数据31 数据32
参数tableType表示表格填报类型,其取值范围为[“column”,“row”],其中“column”表示数据单元格按列的方式填写,“row”表示数据单元格按行的方式填写。
parentHead参数表示父表头名称,当没有父表头名称时,参数为空。一个工作表(sheet)可以包括多个表格,这些表格的表头可能包括父表头和子表头。例如下表3所示的工作表1(sheet):
表3
Figure BDA0002971045060000102
在工作表1中包括财务部和研发部两个表格,其中“财务部”和“研发部”为父表头,第2行的表头A[“工号”,“姓名”,“考勤天数”]为“财务部”的子表头,第7行的表头B[“工号”,“姓名”,“考勤天数”]为“研发部”的子表头。
通常情况下,父表头的单元格与对应的子表头的单元格紧密连接,比如“财务部”的位置与表头A的位置最接近,因此分别计算表头A、表头B与“财务部”表头的位置距离,就可以判断出表头A而不是表头B是财务部的子表头。
tableMap参数配置了CSV原始数据集A的字段和Excel表头名称之间的对应关系。一个CVS原始数据集A包括按CVS格式保存多条原始数据记录,每一条记录包括多个字段,一个CVS格式的数据可以表示如下:
c1,c2,…,cN
v11,v12,…,v1N
v21,v22,…,v2N
……
vM1,vM2,…,vMN
其中,[c1,c2,…,cN]为CVS数据的字段名称集合,[v11,v12,…,v1N]为第1条记录的数据,[v21,v22,…,v2N]为第2条记录的数据,其他数据以此类推。
待填报的Excel文档的某一个表格包括多个子表头名称,这些子表头名称集合可以用[w1,w2,…,wN]表示,tableMap记录了字段名称集合[c1,c2,…,cN]与表头名称集合[w1,w2,…,wN]的对应关系。
在本实施例中,可以从数据库、消息队列、日志文档、配置文档等位置采集指定的数据,形成CVS原始数据集A,tableMap参数建立CSV原始数据集A的字段和Excel表头名称之间的对应关系,使原始数据集和Excel文档的填报数据解耦合,增强了系统及方法的扩展性。
YML临时数据集B的数据格式如下:
sheetName:工作表名称
tableType:“colum/row”
parentHead:[父表头名称列表]
tableData:
-w1:[v11,v21,...,vM1]
-w2:[v12,v22,...,vM2]
-wN:[v1N,v2N,...,vMN]
其中,YML临时数据集B的sheetName、tableType和parentHead参数含义与YML模板文档的相应配置参数含义一致。YML临时数据集B的tableData参数记录了Excel表头每一个字段需要填写的数据,数据预处理模块读取YML配置文档的信息,根据tableMap参数将CVS原始数据集A中的字段名称集合[c1,c2,…,cN]转换为Excel表头名称集合[w1,w2,…,wN],并将CVS原始数据集A中的数据保存到YML临时数据集B中。
数据智能解析模块解析原始Excel文档中的指定工作表(sheet),生成虚拟DOM(Document Object Model)结构,虚拟DOM结构记录了工作表(sheet)所有表格的位置数据。以工作表1(sheet)为例,为了能够正确区分财务部和研发部两个表格,从而达到正确填写不同部门的数据的目的,数据智能解析模块使用虚拟DOM算法,创建虚拟DOM结构,如图3所示。
虚拟DOM算法首先对工作表(sheet)的所有单元格进行解析,获得所有非空单元格名称和位置数据的对应关系,把这些关系保存到集合D中,然后根据parentHead检索集合D,获得父表头名称和对应位置数据的对应关系,将这些关系挂接到root根节点下,最后再将集合D中其他对应关系挂接到对应的父节点下。
数据智能填报模块根据parentHead参数查找虚拟DOM结构,获得父表头对应的子表头的位置,再根据tableType参数确定子表头数据的填写方式,然后按照行方式或列方式将tableMap参数中的数据依次填写到原始Excel文档指定的单元格内。
在本实施例中,如图2所示,基于RPA的excel文档智能填报系统的具体实施步骤描述如下:
步骤1、数据采集模块使用JDBC技术向数据库发起连接,连接字符串指定数据库的用户名、密码,然后从数据库表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数据的N个字段名称集合,[v11,v12,…,v1N]为第1条记录的数据,[v21,v22,…,v2N]为第2条记录的数据,[vM1,vM2,…,vMN]为第M条记录的数据。
步骤4、数据预处理模块使用snakeymal库读取YML模板文档,分别解析出sheetName、tableType、parentHead和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,v12,…,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,v12,..vM1]作为对应的值插入到哈希表HW中。
步骤10、数据预处理模块继续遍历tableMap,对tableMap表中的第2至第n个元素均按步骤9的方式进行操作,此时的哈希表HW可以表示为{<w1,[v11,v12,..vM1]>,<w2,[v12,v22,…,vM2]>,…<wN,[v1N,v2N,…,vMN]>}。
步骤11、数据预处理模块创建YML临时数据集B,将sheetName、tableType和parentHead数据保存到YML临时数据集B中,然后根据哈希表HW生成tableData参数,并将tableData参数保存到YML临时数据集B中。
步骤12、数据智能解析模块通过虚拟DOM算法对原始Excel文档进行解析。虚拟DOM算法首先创建集合D,然后读取原始Excel文档,并根据sheetName参数读取指定的工作表(sheet),对工作表(sheet)的所有单元格进行读取操作,如果单元格的名称不为空,则创建对应关系c(name,loc),其中name表示单元格内容,loc表示该单元格的位置。数据智能解析模块遍将工作表(sheet)中所有的对应关系c插入到集合D,集合D可表示为{<name1,loc1>,<name1,loc1>,…,<nameN,locN>}。
步骤13、虚拟DOM算法读取parentHead参数,parentHead参数是父表头名称列表,可以表示为[p1,p2,…,pN]。
如果parentHead不为空,表示要填报的数据位于父表格,此时数据智能解析模块遍历parentHead列表中的元素,对任意一个元素pK(k位于[1,N]),检索集合D,获得集合D中的每一个c对应的name,比较name与pK是否相同。
如果相同,说明c为父表头,则将c从集合D中删除,然后将c挂接到虚拟DOM结构的root根节点下,形成父表头节点,父表头节点可以用cParent表示。
步骤14、虚拟DOM算法遍历集合D,此时集合D中的每一个元素c都不是父表头。首先提取出集合D中的第一个元素c<name1,loc1>,通过loc计算c与每一个父表头节点cParent的位置距离。如果c与某个父节点cParent距离最近,则认为该c节点是该父表头节点cParent的子表头,则将该c节点挂载到对应的cParent节点下。
步骤15、数据智能填报模块使用snakeymal库读取YML临时数据集B,解析出tableData参数,并将其转换为哈希表HW。数据智能填报模块遍历哈希表HW,获得key键列表[w1,w2,…,wN]。
步骤16、数据智能填报模块从key键列表中取出第1个元素w1,并获得w1对应的数据列表[v11,v21,..,vN1],然后根据使用jacob库读取原始Excel文档,根据sheetName参数打开指定的工作表(sheet),接着使用parentHead参数检索虚拟DOM结构,获得父表头节点cParent,再根据cParent获得所有的子节点集合,读取每一个子节点c,判断子节点c的name是否与w1相同,如果相同,则取出c的位置数据loc,位置数据loc即为w1子表头填写数据的起始位置。
步骤17、数据智能填报模块根据tableType参数确定子表头数据的填写方式,如果tableType取值为“column”,表示数据单元格按列的方式填写,数据智能填报模块遍历w1对应的数据列表[v11,v21,..,vM1],将v11填写到loc所在的单元中,将v21填写到loc下方的单元中,以此类推,直到将vM1填写到指定的单元中;如果tableType取值为“row”,表示数据单元格按行的方式填写,数据智能填报模块遍历w1对应的数据列表[v11,v21,..,vM1],将v11填写到loc所在的单元中,将v21填写到loc右侧的单元中,以此类推,直到将vM1填写到指定的单元中。
步骤18、数据智能填报模块从key键列表中依次取出w2、…、wN,并按照步骤16和17的方式进行操作,直到将tableData的所有数据都填写到指定的单元中。
步骤19、数据智能填报模块将原始Excel文档进行保存,形成目标Excel文档。
本发明提供的基于RPA的Excel文档智能填报系统及其方法能够将获取的原始数据转化为CSV格式的原始数据集,进而形成YML格式的临时数据集,基于虚拟DOM结构识别待填报Excel表格的结构确定自动填报位置,按照预先设置的模板参数的填报类型实现数据自动填报,降低了工作强度,提高了填报的准确性和效率,简单且扩展性强,能够适用广泛应用场景
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和变形,这些改进和变形也应视为本发明的保护范围。

Claims (10)

1.一种基于RPA的Excel文档智能填报方法,其特征在于,包括如下步骤:
基于待填报原始Excel文档的表格表头信息,将获取的原始数据转换为CSV格式的原始数据集;
将原始数据集转换成YML格式的临时数据集,所述临时数据集的配置参数包括sheetName,tableType,parentHead和tableData,所述sheetName用于存储待填报原始Excel文档的工作表名称,所述tableType用于存储工作表中表格填报类型,所述parentHead用于存储表格的父表头名称,所述tableData用于存储与所述父表头的子表头相对应原始数据集的字段数据;
利用虚拟DOM算法对待填报原始Excel文档进行解析,生成包含原始Excel文档表格的父表头、子表头及位置关系的虚拟DOM结构;
基于所述虚拟DOM结构确定所述tableData中字段数据填报的起始位置,并按照所述tableType的填报类型填报到原始Excel文档的指定表格中。
2.根据权利要求1所述基于RPA的Excel文档智能填报方法,其特征在于,还包括获取待填报的原始数据,原始数据的获取方法包括从数据库、消息队列、日志文档或配置文档中采集指定数据。
3.根据权利要求1所述基于RPA的Excel文档智能填报方法,其特征在于,原始数据集的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的Excel文档智能填报方法,其特征在于,YML模板文档的格式如下所示:
sheetName:工作表名称
tableType:“colum/row”
parentHead:[父表头名称列表]
tableMap:
-c1:w1
-c2:w2
……
-cN:wN
其中,sheetName表示原始Excel文档中的工作表名称,tableType表示Excel表格的填报类型,parentHead表示Excel表格中父表头名称列表,[w1,w2,…,wN]为Excel表格中子表头名称列表。
5.根据权利要求4所述基于RPA的Excel文档智能填报方法,其特征在于,所述临时数据集的格式如下表示:
sheetName:工作表名称
tableType:“colum/row”
parentHead:[父表头名称列表]
tableData:
-w1:[v11,v21,...,vM1]
-w2:[v12,v22,...,vM2]
-wN:[v1N,v2N,...,vMN]
其中,[w1,w2,…,wN]为Excel表格中子表头名称列表。
6.根据权利要求5所述基于RPA的Excel文档智能填报方法,其特征在于,将原始数据集转换成YML格式的临时数据集的方法包括如下步骤:
读取YML模板文档并解析获得YML模板文档的sheetName、tableType、parentHead和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模板文档的配置参数sheetName、tableType和parentHead保存到临时数据集中;
将哈希表HW保存到临时数据集的配置参数tableData中。
7.根据权利要求6所述基于RPA的Excel文档智能填报方法,其特征在于,利用虚拟DOM算法对待填报原始Excel文档进行解析,生成包含原始Excel文档表格的父表头、子表头及位置关系的虚拟DOM结构的方法包括如下步骤:
通过虚拟DOM算法对原始Excel文档进行解析,读取原始Excel文档获取每个工作表的所有非空单元格,并记录所述非空单元格的名称和位置的对应关系;
将所有非空单元格的名称和位置对应关系中父表头名称和位置的对应关系挂接到root根节点下,再将集合D中子表头名称和位置的对应关系挂接到对应的父节点下。
8.根据权利要求7所述基于RPA的Excel文档智能填报方法,其特征在于,基于所述虚拟DOM结构确定所述tableData中字段数据填报的起始位置的方法包括如下步骤:
根据parentHead参数查找所述虚拟DOM结构,获得父表头节点;
获得父表头节点的所有子节点集合,读取每一个子节点,找到与tableData中子表头对应的子节点的位置数据作为子表头填写字段数据的起始位置。
9.根据权利要求8所述基于RPA的Excel文档智能填报方法,其特征在于,按照所述tableType的填报类型填报到原始Excel文档的指定表格中的方法包括如下步骤:
根据tableType参数确定子表头数据的填写方式:
如果tableType取值为“column”,将子表头名称对应的字段数据按照行的方式填写到指定的单元格中。;
如果tableType取值为“row”,将子表头名称对应的字段数据按照列的方式填写到指定的单元格中。
10.一种基于RPA的Excel文档智能填报系统,其特征在于,包括如下模块:
数据采集模块,用于基于待填报原始Excel文档的表格表头信息,将获取的原始数据转换为CSV格式的原始数据集;
数据预处理模块,用于将原始数据集转换成YML格式的临时数据集,所述临时数据集的配置参数包括sheetName,tableType,parentHead和tableData,所述sheetName用于存储待填报原始Excel文档的工作表名称,所述tableType用于存储工作表中表格填报类型,所述parentHead用于存储表格的父表头名称,所述tableData用于存储与所述父表头的子表头相对应原始数据集的字段数据;
数据智能解析模块,用于利用虚拟DOM算法对待填报原始Excel文档进行解析,生成包含原始Excel文档表格的父表头、子表头及位置关系的虚拟DOM结构;
数据智能填报模块,用于基于所述虚拟DOM结构确定所述tableData中字段数据填报的起始位置,并按照所述tableType的填报类型填报到原始Excel文档的指定表格中。
CN202110263419.6A 2021-03-11 2021-03-11 一种基于RPA的Excel文档智能填报系统及其方法 Active CN113011142B (zh)

Priority Applications (1)

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

Applications Claiming Priority (1)

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

Publications (2)

Publication Number Publication Date
CN113011142A true CN113011142A (zh) 2021-06-22
CN113011142B CN113011142B (zh) 2023-06-27

Family

ID=76404803

Family Applications (1)

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

Country Status (1)

Country Link
CN (1) CN113011142B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113807068A (zh) * 2021-09-30 2021-12-17 杭州分叉智能科技有限公司 一种基于RPA的Excel自动化方法
WO2022271345A1 (en) * 2021-06-25 2022-12-29 Microsoft Technology Licensing, Llc Triggering dynamic robotic process automation
CN117494702A (zh) * 2024-01-02 2024-02-02 杭州瑞欧科技有限公司 一种结合rpa和ai的数据推送方法及系统

Citations (7)

* 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
CN109948132A (zh) * 2019-03-18 2019-06-28 航天云网科技发展有限责任公司 一种配置模板的数据填报方法和系统
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 (7)

* 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报告生成方法
CN107329891A (zh) * 2017-06-06 2017-11-07 千寻位置网络有限公司 基于结构化数据及rest接口的自动化回归测试方法
US20200210443A1 (en) * 2018-12-28 2020-07-02 Accenture Global Solutions Limited Cloud-Based Database-Less Serverless Framework Using Data Foundation
CN109948132A (zh) * 2019-03-18 2019-06-28 航天云网科技发展有限责任公司 一种配置模板的数据填报方法和系统
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 (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022271345A1 (en) * 2021-06-25 2022-12-29 Microsoft Technology Licensing, Llc Triggering dynamic robotic process automation
CN113807068A (zh) * 2021-09-30 2021-12-17 杭州分叉智能科技有限公司 一种基于RPA的Excel自动化方法
CN113807068B (zh) * 2021-09-30 2024-01-26 杭州分叉智能科技有限公司 一种基于RPA的Excel自动化方法
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
CN113011142B (zh) 2023-06-27

Similar Documents

Publication Publication Date Title
CN113011142B (zh) 一种基于RPA的Excel文档智能填报系统及其方法
CN111144886B (zh) 自动化银行到账记录处理方法、系统、设备及存储介质
CN104731941B (zh) 一种基于xbrl技术从非结构化财务报告抓取数据的方法
CN101495953B (zh) 注册和维护地区中每一个服务点的地址数据的系统和方法
CN112528602B (zh) 一种医药文档结构化内容分析方法、系统和存储介质
CN112036144B (zh) 数据解析方法、装置、计算机设备和可读存储介质
CN114139490B (zh) 一种自动数据预处理的方法、装置以及设备
CN107797916A (zh) Ddl语句审核方法和装置
CN106815268A (zh) 海量非结构化电子文件的结构化处理方法及系统
CN109300026A (zh) 基于自动记账大数据的财务智能分析方法及其系统
CN116451665A (zh) 一种基于图纸的智能生成设计bom的方法
CN105589900A (zh) 基于多维分析的数据挖掘方法
CN107122961A (zh) 基于SAP系统的excel嵌套报表数据处理方法
CN113011143B (zh) 一种基于RPA的Word文档智能填报系统及其方法
CN111581298B (zh) 大数据仓库的异构数据整合系统及方法
CN113095044A (zh) 一种文件转换方法、装置及设备
CN116186144B (zh) 矿山遥感监测数据的格式化自动处理方法及系统
CN113010503A (zh) 一种基于深度学习的工程造价数据智能解析方法及系统
CN106599238A (zh) 横向关联家系调查方法及系统
CN113642291B (zh) 上市公司报告的逻辑结构树构建方法、系统、存储介质及终端
CN109635008A (zh) 一种基于机器学习的设备故障检测方法
CN115204129A (zh) 一种钻井作业报表关键参数自动匹配识别方法
CN115204128A (zh) 一种配置文件生成方法、装置和计算机可读存储介质
CN116933187B (zh) 一种财务报销单据数字化处理方法及系统
CN118035060B (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
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