CN113505580A - 表格文件的解析方法和装置 - Google Patents
表格文件的解析方法和装置 Download PDFInfo
- Publication number
- CN113505580A CN113505580A CN202110843897.4A CN202110843897A CN113505580A CN 113505580 A CN113505580 A CN 113505580A CN 202110843897 A CN202110843897 A CN 202110843897A CN 113505580 A CN113505580 A CN 113505580A
- Authority
- CN
- China
- Prior art keywords
- file
- table file
- template
- type
- cell
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 63
- 238000004458 analytical method Methods 0.000 claims abstract description 59
- 230000002159 abnormal effect Effects 0.000 claims description 20
- 238000012545 processing Methods 0.000 claims description 18
- 230000006870 function Effects 0.000 claims description 15
- 238000004590 computer program Methods 0.000 claims description 11
- 230000008569 process Effects 0.000 claims description 4
- 238000011161 development Methods 0.000 abstract description 9
- 230000008859 change Effects 0.000 abstract description 4
- 238000004891 communication Methods 0.000 description 5
- 230000008676 import Effects 0.000 description 5
- 235000010627 Phaseolus vulgaris Nutrition 0.000 description 4
- 244000046052 Phaseolus vulgaris Species 0.000 description 4
- 235000006719 Cassia obtusifolia Nutrition 0.000 description 3
- 235000014552 Cassia tora Nutrition 0.000 description 3
- 244000201986 Cassia tora Species 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 230000007547 defect Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 238000013499 data model Methods 0.000 description 1
- 238000013524 data verification Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012805 post-processing Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/205—Parsing
-
- 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
-
- 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
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
本发明提供一种表格文件的解析方法和装置,其中方法包括,获取待解析的表格文件及格式类型;确定符合解析条件的格式类型对应的表格文件具有的业务类型;根据表格文件的业务类型确定对应的模板,并基于所述模板以及预配置的策略对表格文件进行解析,得到表格文件中每个单元格的类型和值;其中,业务类型与模板一一对应,模板包括多个对象字段;确定每个单元格的类型对应的所述模板中的对象字段,将解析得到的所述单元格的值对所述对象字段进行赋值,生成目标格式的表格文件。本发明通过配置化模板,模块化解析,完成对于不同模板实现动态池增改解析,满足业务需求在随时随地变更字段变更的要求。降低开发人员开发量,并且提高解析功能的可重用性。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种表格文件的解析方法和装置。
背景技术
当前针对excel的解析有着不同的数据模型和解析逻辑,在一个excel里有多个sheet,每个sheet都有row,每个row里有cell;都可以看成对象,然后对象中有对此子属性进行依赖;现在要解析成javabean必须具有字段名与值,多个sheet意味着可能有两种情况,一种是每个sheet的表头都是一样的,这样只需要一个model就可以了。另外存在两种不同的sheet,这时候需要上传多个model进去,进行赋值。每个sheet都一样表头且表头设置在第一行。接下来是row,Row里有cell,cell里有值,而值有不同格式,文本格式,数字格式等等。对于数据校验,现有解析方案是通过泛型限制成必须实现一个父类model,model规定了一个抽象方法,在解析的时候使用,也就是模板设计模式;另外一种就是存储在map中,利用beanutil进行转换成bean,然后bean写校验方法。
每次因为excel中列名的不同和对应的实体类的不同,每一次都需要重新写一个解析excel的方法,代码既长又很复杂,每一次编写几十行代码,浪费时间,而且利用率还低。综合来看现有技术时间复杂度会相对较低,缺点必须model实现接口或父类,且无法灵活配置,针对不同的excel文件需要人为根据不同需求进行定制化开发,不能达到高可用可扩展的目的。
发明内容
本发明提供一种表格文件的解析方法和装置,用以解决现有技术中无法灵活配置,针对不同的excel文件需要人为根据不同需求进行定制化开发,不能达到高可用可扩展的缺陷,实现降低开发人员开发量,避免每次增改模板需要重新部署的麻烦,提高解析功能的可重用性。
第一方面,本发明提供一种表格文件的解析方法,包括:
获取待解析的表格文件及其格式类型;
确定符合解析条件的所述格式类型对应的所述表格文件具有的业务类型;
根据所述表格文件的业务类型确定对应的模板,并基于所述模板以及预配置的策略对所述表格文件进行解析,得到表格文件中每个单元格的类型和值;其中,所述业务类型与所述模板一一对应,所述模板包括多个对象字段;
确定每个单元格的类型对应的所述模板中的对象字段,将解析得到的所述单元格的值对所述对象字段进行赋值,生成目标格式的表格文件。
进一步,本发明提供的表格文件的解析方法,其中,在获取待解析的表格文件之前,所述方法还包括:
上传表格文件至云端,并将表格文件以及所述表格文件的属性信息保存至对应的数据库,其中,所述属性信息包括所述表格文件的类型以及云端路径、文件名或者文件大小中的至少一个。
进一步,本发明提供的表格文件的解析方法,其中,基于所述模板以及预配置的策略对所述表格文件进行解析,包括:
确定所述表格文件的版本以及后缀名;
若所述版本为第一版本且所述后缀名为第一后缀名,基于所述模板,采用第一解析函数类对所述表格文件进行解析;
若所述版本为第二版本且所述后缀名为第二后缀名,基于所述模板,采用第二解析函数类对所述表格文件进行解析。
进一步,本发明提供的表格文件的解析方法,其中,基于所述模板以及预配置的策略对所述表格文件进行解析,得到表格文件中每个单元格的类型和值,包括:
确定所述表格文件的每个表格页;
确定每个表格页中的表头数据以及每一单元区数据;
确定每一单元区数据中的每个单元格;
基于所述模板以及预配置的策略对每个所述单元格及其对应的表头数据进行解析,得到每个单元格的类型和值。
进一步,本发明提供的表格文件的解析方法,其中,在得到表格文件中每个单元格的类型和值之后,所述方法还包括:
对所述单元格的值进行校验;
若存在重复的单元格的值,将重复的单元格的值进行合并,并生成异常信息并上传云端。
进一步,本发明提供的表格文件的解析方法,其中,在基于所述模板以及预配置的策略对所述表格文件进行解析的过程中,所述方法还包括:
若得到的所述单元格的值为空,判断所述单元格的值是否满足配置的策略;
若满足,保持所述单元格的值为空;
若不满足,生成异常信息并上传云端。
进一步,本发明提供的表格文件的解析方法,其中,在生成目标格式的表格文件后,所述方法还包括:
将所述目标格式的表格文件保存至云端的数据库中;
判断所述目标格式的表格文件与所述数据库中已存储的目标格式的表格文件是否存在重复数据;
若存在重复,将重复数据进行合并。
第二方面,本发明提供一种表格文件的解析装置,包括:
第一处理模块,用于获取待解析的表格文件及其格式类型;
第二处理模块,用于确定符合解析条件的所述格式类型对应的所述表格文件具有的业务类型;
第三处理模块,用于根据所述表格文件的业务类型确定对应的模板,并基于所述模板以及预配置的策略对所述表格文件进行解析,得到表格文件中每个单元格的类型和值;其中,所述业务类型与所述模板一一对应,所述模板包括多个对象字段;
第四处理模块,用于确定每个单元格的类型对应的所述模板中的对象字段,将解析得到的所述单元格的值对所述对象字段进行赋值,生成目标格式的表格文件。
第三方面,本发明提供一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现上述任一项所述表格文件的解析方法的步骤。
第四方面,本发明提供一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现上述任一项所述表格文件的解析方法的步骤。
本发明提供的表格文件的解析方法和装置,通过确定待解析的表格文件的业务类型;根据所述表格文件的业务类型确定对应的模板,并基于所述模板以及预配置的策略对所述表格文件进行解析,得到表格文件中每个单元格的类型和值;确定每个单元格的类型对应的所述模板中的对象字段,将解析得到的所述单元格的值对所述对象字段进行赋值,生成目标格式的表格文件。本发明通过配置化模板,模块化解析,通过对模板的对象字段的增改,满足业务需求在随时随地变更字段的要求,从而降低开发人员开发量,避免每次增改模板需要重新部署的麻烦,提高解析功能的可重用性。
附图说明
为了更清楚地说明本发明或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明提供的表格文件的解析方法的流程示意图;
图2是本发明提供的基于模板以及预配置的策略对表格文件进行解析的流程示意图;
图3是本发明提供的基于模板以及预配置的策略对表格文件进行解析,得到表格文件中每个单元格的类型和值的流程示意图;
图4是本发明提供的表格文件的解析装置的结构示意图;
图5是本发明提供的电子设备的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明中的附图,对本发明中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
下面结合图1描述本发明实施例提供一种表格文件的解析方法,包括:
步骤100:获取待解析的表格文件及其格式类型;
随着信息技术的发展,目前许多的智能化平台都需要采用数据库存储各种庞大的过程、结果数据。并且在云端数据库中存在多种文件以及多种文件具有多种不同的类型,而本发明实施例中是针对数据库中的Excel格式的文件进行解析操作,因此,需要判断获取的文件的格式类型,若格式类型为Excel格式,则进行解析,否则不进行解析。
步骤200:确定符合解析条件的所述格式类型对应的所述表格文件具有的业务类型;
在确定所获取的表格文件的格式类型为Excel格式之后,对该表格文件的业务类型中进行确定,比如表格的内容是有关基金的表格,或者是有关债券的表格。
步骤300:根据所述表格文件的业务类型确定对应的模板,并基于所述模板以及预配置的策略对所述表格文件进行解析,得到表格文件中每个单元格的类型和值;其中,所述业务类型与所述模板一一对应,所述模板包括多个对象字段;
具体地,在本发明实施例中对不同的表格文件的业务类型确定了不同的模板,同时,依据每一种模板和设定的预配置的策略方式对表格文件进行解析,获取表格文件中每个单元格的类型和取值,比如对有关基金的表格进行解析可以获得基金表格中基金持有人的表格和表格中的数值,基金种类的表格及基金种类的数值,基金持有人持有基金种类的表格以及数值,或者基金持有人持有某一种基金的份额。
由于本发明实施例中是为了建构一种Excel的数据通用解析模板,同时采用通用模板的种类与业务类型是对应的,即每一种业务类型的Excel文件都存在一种与之对应的模板。并且由于这种对应关系,可以将Excel文件中的单元格的数值填写在模板的相应的位置,比如将有关基金的Excel文件中的基金种类、基金份额、基金持有人等相应的数值填写在模板的相应的单元格中,即不同的模板具有多个对象字段,每个对象字段表示不同的表头字段。
步骤400:确定每个单元格的类型对应的所述模板中的对象字段,将解析得到的所述单元格的值对所述对象字段进行赋值,生成目标格式的表格文件。
具体地,在确定表格文件所对应的业务类型后,确定相应的业务类型所对应的模板。若将表格文件中的数据导入模板中,需要将表格文件中的相应的单元格中的数值填写入模板中相应的表头对应的单元格之中。
由于Excel文件中存在多个sheet,一个sheet中存在多个row,一个row中存在多个cell,一个cell既是一个单元格。因此确定每个模板的单元格的数值需要三个步骤,同时将某一表头字段下的多个单元格进行数值填充需要内嵌3个循环体才能对多个单元格的数值进行填写。
经过上述的操作,可以确定目标格式的表格文件。
本发明实施例提供的表格文件的解析方法包括:获取待解析的表格文件及其格式类型;确定符合解析条件的所述格式类型对应的所述表格文件具有的业务类型;根据所述表格文件的业务类型确定对应的模板,并基于所述模板以及预配置的策略对所述表格文件进行解析,得到表格文件中每个单元格的类型和值;其中,所述业务类型与所述模板一一对应,所述模板包括多个对象字段;确定每个单元格的类型对应的所述模板中的对象字段,将解析得到的所述单元格的值对所述对象字段进行赋值,生成目标格式的表格文件。本发明通过配置化模板,模块化解析,完成对于不同模板实现动态池增改解析,满足业务需求在随时随地变更字段变更的要求。降低开发人员开发量,避免每次增改模板需要重新部署的麻烦,提高解析功能的可重用性。
进一步,本发明实施例提供的表格文件的解析方法,其中,在获取待解析的表格文件之前,所述方法还包括:
上传表格文件至云端,并将表格文件以及所述表格文件的属性信息保存至对应的数据库,其中,所述属性信息包括所述表格文件的类型以及云端路径、文件名或者文件大小中的至少一个。
具体地,在本发明实施例中是为了解决业务在实时变动的情形之下,对模板进行更新,在对模板采用动态池进行更新时,需要根据业务实时产生的数据对模板进行更新。因此,在在获取待解析的表格文件之前,通过上传表格文件至云端,并将表格文件的属性信息保存在数据库中,其中属性信息包括文件的格式信息即表格文件的类型,文件的格式信息用来判断待解析的文件是否为Excel格式。而在本发明实施例中对其他属性信息也可以进行保存,并且,保存的种类不予限制。
通过将文件上传至云端,进而能够实现利用业务实时更新产生的文件对模板进行更新。
进一步,参考图2,本发明实施例中提供的表格文件的解析方法,其中,基于所述模板以及预配置的策略对所述表格文件进行解析,包括:
步骤500:确定所述表格文件的版本以及后缀名;
步骤600:若所述版本为第一版本且所述后缀名为第一后缀名,基于所述模板,采用第一解析函数类对所述表格文件进行解析;
步骤700:若所述版本为第二版本且所述后缀名为第二后缀名,基于所述模板,采用第二解析函数类对所述表格文件进行解析。
具体地,在步骤500中,在确定文件的格式信息之后,对文件进行相应的解析操作。由于Excel文件存在多个版本,而对不同的版本采用不用的方式进行解析。在本发明实施例中依据表格文件的版本及其后缀名的方式选择不同的解析方式。步骤600中,第一版本与第一后缀名分别对应2003版及以前的Excel版本,由于其后缀是xls,采用HSSFWorkbook和getworkbook相结合的第一解析函数方式进行判断解析。在步骤700中,第二版本和第二后缀名分别对应于2007版及之后的版本,其后缀形式是xlsx,采用XSSFWorkbook和getworkbook相结合的第二解析函数方式进行判断解析。采用这两种结合的方式对Excel的后缀是xls还是xlsx进行判断解析比单独采用HSSFWorkbook判断xls格式的后缀,和单独采用XSSFWorkbook判断解析xlsx格式更为准确,不会出现单独采用一种判断方式出现的org.apache.poi.openxml4j.exceptions.InvalidFormatException的异常形式。
进一步,参考图3,本发明实施例中提供的表格文件的解析方法,其中,基于所述模板以及预配置的策略对所述表格文件进行解析,得到表格文件中每个单元格的类型和值,包括:
步骤800:确定所述表格文件的每个表格页;
步骤900:确定每个表格页中的表头数据以及每一单元区数据;
步骤1000:确定每一单元区数据中的每个单元格;
步骤1100:基于所述模板以及预配置的策略对每个所述单元格及其对应的表头数据进行解析,得到每个单元格的类型和值。
具体地,举例说明,存在待导入的用户借贷信息Excel文件如下表1:
表1
将上述的Excel文件导入被导入模板中,被导入模板为表2:
表2
将表格Excel即表1中的数值导入被导入的模板表格表2中,需要判断导入的表格的业务类型,用于选着与相对应的模板,比如在表1中的记录的是“借贷客户”表明导入的表格是借贷相关的业务,则在配置相应的模板时,选择针对借贷的模板。
然后,步骤800中,由于每一个Excel表格可能具有多个sheet即表格页,因此需要确定Excel中表格页的数量,以及不同表格页中的内容。在步骤900中,由于在确定表格页中的内容时先确定不同表格页中的表头内容,以及每一单元区数据,在本公开中Excel的表头在上方时,每一单元区数据即每一列中的数据。而在Excel的表格页中的表头在左侧第一列时,每一单元区数据即每一行中的数据。
而又由于单元区是由不同的cell即单元格组成,因此在步骤1000中,在确定每一单元区数据的时需要确定每一个单元格。进而在步骤1100中,在确定每一个单元格时需要确定单元格的对应的是哪一个数据类别以及具体的数值是多少,参照表1可知,在第四行第四列中的单元格对应的类别是“婚姻状态”,其中的数值是“未婚”。
并且,在将待导入Excel导入被导入模板中时,还需要对表头进行翻译,将之翻译成英文,用来与模板中的相应内容进行匹配。同时,由于本发明实施例中的模板并非固定不变的,是可以通过javabean映射进行扩展,从而使得模板的配置范围得以扩展,比如,在待导入Excel中存在还款记录这一列单元格,而在模板中并不存在相应的表头和对应的列,则可以通过javabean的方式将待导入Excel中的相应列导入到被导入的模板中,从而实现了模板的配置的灵活性,延伸了模板适用范围和稳定性。
在将待导入的Excel数据导入被导入文件的Excel中是按照解析后的bean逐条插入,未分库分表。表3展示的是将表1导入表2的部分内容的结果:
表3
进一步,本发明实施例提供的表格文件的解析方法,其中,在得到表格文件中每个单元格的类型和值之后,所述方法还包括:
对所述单元格的值进行校验;
若存在重复的单元格的值,将重复的单元格的值进行合并,并生成异常信息并上传云端。
具体地,在获取每个单元格的类型和数值之后,对单元格进行校验。由于单元格的格式采用文本或者常规格式,可以避免出现不可避免的异常情形。由于Excel通用导入,基本原理都是将Excel单元格与实体类或数据库中某个字段进行绑定,一般采用实体类注解或是XML配置文件的方式,而且基本上都支持单表String字段的导入。因此,在本发明实施例中字段类型采用string类型。
其中,校验的方式包括字段长度和字段正则表达式校验。字段长度校验举例来说,则是在婚姻状况这一类型的单元格中,由于婚姻状况只有已婚、未婚、离异、丧偶等情形,不会出现字符长度过长的情形,因此。可以通过判断字符的长度判断该单元格中的数值是否存在错误。
而字段正则表达式校验即是字段规则表达式,是对字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符、及这些特定字符的组合,组成一个"规则字符串",这个"规则字符串"用来表达对字符串的一种过滤逻辑。比如同样对婚姻状况这一类型中的单元格进行校验,如果出现“未偶”这样的字样,则通过字段正则表达式判断出这一表达是错误的。
另外,字段长度校验与字段正则表达式校验都是内存内校验,不与外部数据进行交互,对解析和数据的导入影响较小。
除了对单元格中的数据进行判断是否存在错误时,还需要判断某些具有唯一性的数据是否出现重复,比如用户的身份证号是否存在相同,若存在相同,则对相应的数据进行合并。再比如,票据号作为借贷的凭证具有唯一性,即单独的一次借贷与该次借贷的票据号是对应的、且是唯一的,不会在相同的单元格类型中出现两次,因此当出现两次票据号时,对相应的表格数据进行合并处理,即可以认为这一部分数据是被录入两次导致的,同时对相应的数据进行报错处理,生成异常信息,并将异常信息上传至云端。
进一步,本发明提供的表格文件的解析方法,其中,在基于所述模板以及预配置的策略对所述表格文件进行解析的过程中,所述方法还包括:
若得到的所述单元格的值为空,判断所述单元格的值是否满足配置的策略;
若满足,保持所述单元格的值为空;
若不满足,生成异常信息并上传云端。
具体地,在获取单元格的类型和数据之后,将单元格中的数值导入模板之中时,是从第一行单元格开始,而第一行单元格中的数据必须包含有内容。继而,以该单元格为依据,导入模板中的Excel文件列数必须等于有标注注解的属性值的数量,即是本发明实施例中单元格所对应的类别表头下所有的单元格中的数值。
并且,在本发明实施例中第一行有效单元格中必须包含有内容,即单元格中表头中必须有内容,用来标识此单元格下的各个单元格的类别即此各个单元格的含义,若第一行有效单元格为空,则意味着这一列数据的含义没有确定,同时在进行数据导入是由于不存在与之相对应的模板表头,则无法将相应的数据进行导入操作。因此在进行导入操作时必须将从第一行包含有有效值的单元格开始。
而对单元格中的数值为空的情形。当导入Excel,读取到空行,则停止读取当前Sheet的后面数据行。需要判断该单元格为空的情形是否合理,即判断单元格的数据为空是否符合配置的策略,若符合配置的策略,则保持单元的数值为空,若符合配置的策略,则表明此单元格的数值存在错误,则应该进行报错处理。
进一步,本发明实施例提供的表格文件的解析方法,其中,在生成目标格式的表格文件后,所述方法还包括:
将所述目标格式的表格文件保存至云端的数据库中;
判断所述目标格式的表格文件与所述数据库中已存储的目标格式的表格文件是否存在重复数据;
若存在重复,将重复数据进行合并。
具体地,在完成将待导入Excel导入被导入Excel文件之后,将被导入的Excel即目标格式的报个文件上传至云端的数据库中。同时判断目标格式的表格文件与数据库中已经存储的目标格式的表格文件是否存在重复数据。因此,处于简化存储空间和减少模板数量的考虑,将重复的数据进行合并,得到简化的目标格式的表格文件集合。
本发明实施例的表格文件的解析方法,通过通过配置化模板,模块化解析,通过对模板的对象字段的增改,满足业务需求在随时随地变更字段的要求,从而降低开发人员开发量,避免每次增改模板需要重新部署的麻烦,提高解析功能的可重用性。
参考图4,本发明实施例提供一种表格文件的解析装置,包括:
第一处理模块41,用于获取待解析的表格文件及其格式类型;
第二处理模块42,用于确定符合解析条件的所述格式类型对应的所述表格文件具有的业务类型;
第三处理模块43,用于根据所述表格文件的业务类型确定对应的模板,并基于所述模板以及预配置的策略对所述表格文件进行解析,得到表格文件中每个单元格的类型和值;其中,所述业务类型与所述模板一一对应,所述模板包括多个对象字段;
第四处理模块44,用于确定每个单元格的类型对应的所述模板中的对象字段,将解析得到的所述单元格的值对所述对象字段进行赋值,生成目标格式的表格文件。
由于本发明实施例提供的装置,可以用于执行上述实施例所述的方法,其工作原理和有益效果类似,故此处不再详述,具体内容可参见上述实施例的介绍。
可选地,所述装置还包括:
上传模块,用于在获取待解析的表格文件之前,上传表格文件至云端,并将表格文件以及所述表格文件的属性信息保存至对应的数据库,其中,所述属性信息包括所述表格文件的类型以及云端路径、文件名或者文件大小中的至少一个。
可选地,所述第三处理模块43,包括:
确定子单元,用于确定所述表格文件的版本以及后缀名;
第一解析单元,用于若所述版本为第一版本且所述后缀名为第一后缀名,基于所述模板,采用第一解析函数类对所述表格文件进行解析;
第二解析单元,用于若所述版本为第二版本且所述后缀名为第二后缀名,基于所述模板,采用第二解析函数类对所述表格文件进行解析。
可选地,所述第三处理模块43,包括:
表格页确定单元,用于确定所述表格文件的每个表格页;
单元区数据确定单元,用于确定每个表格页中的表头数据以及每一单元区数据;
单元格确定单元,用于确定每一单元区数据中的每个单元格;
单元格解析单元,用于基于所述模板以及预配置的策略对每个所述单元格及其对应的表头数据进行解析,得到每个单元格的类型和值。
可选地,所述装置还包括:
校验模块,用于在得到表格文件中每个单元格的类型和值之后,对所述单元格的值进行校验;
结果处理模块,用于若存在重复的单元格的值,将重复的单元格的值进行合并,并生成异常信息并上传云端。
可选地,所述第三处理模块43,具体用于:
若得到的所述单元格的值为空,判断所述单元格的值是否满足配置的策略;
若满足,保持所述单元格的值为空;
若不满足,生成异常信息并上传云端。
可选地,所述装置还包括:
后处理模块,用于将所述目标格式的表格文件保存至云端的数据库中;
判断模块,用于判断所述目标格式的表格文件与所述数据库中已存储的目标格式的表格文件是否存在重复数据;
合并模块,用于若存在重复,将重复数据进行合并。
本发明实施例提供的表格文件的解析装置,通过确定待解析的表格文件的业务类型;根据所述表格文件的业务类型确定对应的模板,并基于所述模板以及预配置的策略对所述表格文件进行解析,得到表格文件中每个单元格的类型和值;确定每个单元格的类型对应的所述模板中的对象字段,将解析得到的所述单元格的值对所述对象字段进行赋值,生成目标格式的表格文件。本发明通过配置化模板,模块化解析,通过对模板的对象字段的增改,满足业务需求在随时随地变更字段的要求,从而降低开发人员开发量,避免每次增改模板需要重新部署的麻烦,提高解析功能的可重用性。
图5示例了一种电子设备的实体结构示意图,如图5所示,该电子设备可以包括:处理器(processor)510、通信接口(Communications Interface)520、存储器(memory)530和通信总线540,其中,处理器510,通信接口520,存储器530通过通信总线540完成相互间的通信。处理器510可以调用存储器530中的逻辑指令,以执行表格文件的解析方法,该方法包括:获取待解析的表格文件及其格式类型;确定符合解析条件的所述格式类型对应的所述表格文件具有的业务类型;根据所述表格文件的业务类型确定对应的模板,并基于所述模板以及预配置的策略对所述表格文件进行解析,得到表格文件中每个单元格的类型和值;其中,所述业务类型与所述模板一一对应,所述模板包括多个对象字段;确定每个单元格的类型对应的所述模板中的对象字段,将解析得到的所述单元格的值对所述对象字段进行赋值,生成目标格式的表格文件。
此外,上述的存储器530中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
另一方面,本发明还提供一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行上述各方法所提供的表格文件的解析方法,该方法包括:获取待解析的表格文件及其格式类型;确定符合解析条件的所述格式类型对应的所述表格文件具有的业务类型;根据所述表格文件的业务类型确定对应的模板,并基于所述模板以及预配置的策略对所述表格文件进行解析,得到表格文件中每个单元格的类型和值;其中,所述业务类型与所述模板一一对应,所述模板包括多个对象字段;确定每个单元格的类型对应的所述模板中的对象字段,将解析得到的所述单元格的值对所述对象字段进行赋值,生成目标格式的表格文件。
又一方面,本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各提供的表格文件的解析方法,该方法包括:获取待解析的表格文件及其格式类型;确定符合解析条件的所述格式类型对应的所述表格文件具有的业务类型;根据所述表格文件的业务类型确定对应的模板,并基于所述模板以及预配置的策略对所述表格文件进行解析,得到表格文件中每个单元格的类型和值;其中,所述业务类型与所述模板一一对应,所述模板包括多个对象字段;确定每个单元格的类型对应的所述模板中的对象字段,将解析得到的所述单元格的值对所述对象字段进行赋值,生成目标格式的表格文件。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (10)
1.一种表格文件的解析方法,其特征在于,包括:
获取待解析的表格文件及其格式类型;
确定符合解析条件的所述格式类型对应的所述表格文件具有的业务类型;
根据所述表格文件的业务类型确定对应的模板,并基于所述模板以及预配置的策略对所述表格文件进行解析,得到表格文件中每个单元格的类型和值;其中,所述业务类型与所述模板一一对应,所述模板包括多个对象字段;
确定每个单元格的类型对应的所述模板中的对象字段,将解析得到的所述单元格的值对所述对象字段进行赋值,生成目标格式的表格文件。
2.根据权利要求1所述的表格文件的解析方法,其特征在于,在获取待解析的表格文件之前,所述方法还包括:
上传表格文件至云端,并将表格文件以及所述表格文件的属性信息保存至对应的数据库,其中,所述属性信息包括所述表格文件的类型以及云端路径、文件名或者文件大小中的至少一个。
3.根据权利要求1所述的表格文件的解析方法,其特征在于,基于所述模板以及预配置的策略对所述表格文件进行解析,包括:
确定所述表格文件的版本以及后缀名;
若所述版本为第一版本且所述后缀名为第一后缀名,基于所述模板,采用第一解析函数类对所述表格文件进行解析;
若所述版本为第二版本且所述后缀名为第二后缀名,基于所述模板,采用第二解析函数类对所述表格文件进行解析。
4.根据权利要求1或3所述的表格文件的解析方法,其特征在于,基于所述模板以及预配置的策略对所述表格文件进行解析,得到表格文件中每个单元格的类型和值,包括:
确定所述表格文件的每个表格页;
确定每个表格页中的表头数据以及每一单元区数据;
确定每一单元区数据中的每个单元格;
基于所述模板以及预配置的策略对每个所述单元格及其对应的表头数据进行解析,得到每个单元格的类型和值。
5.根据权利要求1所述的表格文件的解析方法,其特征在于,在得到表格文件中每个单元格的类型和值之后,所述方法还包括:
对所述单元格的值进行校验;
若存在重复的单元格的值,将重复的单元格的值进行合并,并生成异常信息并上传云端。
6.根据权利要求1所述的表格文件的解析方法,其特征在于,在基于所述模板以及预配置的策略对所述表格文件进行解析的过程中,所述方法还包括:
若得到的所述单元格的值为空,判断所述单元格的值是否满足配置的策略;
若满足,保持所述单元格的值为空;
若不满足,生成异常信息并上传云端。
7.根据权利要求1所述的表格文件的解析方法,其特征在于,在生成目标格式的表格文件后,所述方法还包括:
将所述目标格式的表格文件保存至云端的数据库中;
判断所述目标格式的表格文件与所述数据库中已存储的目标格式的表格文件是否存在重复数据;
若存在重复,将重复数据进行合并。
8.一种表格文件的解析装置,其特征在于,包括:
第一处理模块,用于获取待解析的表格文件及其格式类型;
第二处理模块,用于确定符合解析条件的所述格式类型对应的所述表格文件具有的业务类型;
第三处理模块,用于根据所述表格文件的业务类型确定对应的模板,并基于所述模板以及预配置的策略对所述表格文件进行解析,得到表格文件中每个单元格的类型和值;其中,所述业务类型与所述模板一一对应,所述模板包括多个对象字段;
第四处理模块,用于确定每个单元格的类型对应的所述模板中的对象字段,将解析得到的所述单元格的值对所述对象字段进行赋值,生成目标格式的表格文件。
9.一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至7任一项所述表格文件的解析方法的步骤。
10.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述表格文件的解析方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110843897.4A CN113505580A (zh) | 2021-07-26 | 2021-07-26 | 表格文件的解析方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110843897.4A CN113505580A (zh) | 2021-07-26 | 2021-07-26 | 表格文件的解析方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113505580A true CN113505580A (zh) | 2021-10-15 |
Family
ID=78014098
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110843897.4A Pending CN113505580A (zh) | 2021-07-26 | 2021-07-26 | 表格文件的解析方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113505580A (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114356864A (zh) * | 2021-12-09 | 2022-04-15 | 浪潮云信息技术股份公司 | 国产环境下批量导入excel文件的方法及导入系统 |
CN114595199A (zh) * | 2022-05-10 | 2022-06-07 | 太平金融科技服务(上海)有限公司 | 文件解析方法、装置、计算机设备和存储介质 |
CN115081416A (zh) * | 2022-08-23 | 2022-09-20 | 中科科界(北京)科技有限公司 | 基于文件解析转码和配置的投票生成方法及装置 |
CN115310407A (zh) * | 2022-09-19 | 2022-11-08 | 长沙丹渥智能科技有限公司 | 一种Excel模型的解析方法及系统 |
CN115390853A (zh) * | 2022-09-14 | 2022-11-25 | 北京虎蜥信息技术有限公司 | 多源工艺文件结构化解析方法、系统、终端及存储介质 |
CN116415562A (zh) * | 2023-06-06 | 2023-07-11 | 上海朝阳永续信息技术股份有限公司 | 用于解析金融数据的方法、设备和介质 |
Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040193520A1 (en) * | 2003-03-27 | 2004-09-30 | Lacomb Christina | Automated understanding and decomposition of table-structured electronic documents |
CN103064659A (zh) * | 2011-10-21 | 2013-04-24 | 镇江金软计算机科技有限责任公司 | 基于元数据抽取的saas模式自定义表单系统 |
CN107870979A (zh) * | 2017-09-30 | 2018-04-03 | 平安科技(深圳)有限公司 | 电子装置、提取数据表的数据的方法及存储介质 |
US20190102620A1 (en) * | 2017-09-29 | 2019-04-04 | Rovi Guides, Inc. | Systems and methods for detecting semantics of columns from tabular data |
CN110046334A (zh) * | 2019-03-21 | 2019-07-23 | 平安国际智慧城市科技股份有限公司 | 数据导入方法、装置、计算机设备以及存储介质 |
CN110069449A (zh) * | 2019-03-20 | 2019-07-30 | 平安科技(深圳)有限公司 | 文件处理方法、装置、计算机设备和存储介质 |
WO2019169693A1 (zh) * | 2018-03-08 | 2019-09-12 | 平安科技(深圳)有限公司 | 数据快速批量导入方法、电子装置及计算机可读存储介质 |
CN110347985A (zh) * | 2019-05-30 | 2019-10-18 | 平安科技(深圳)有限公司 | 表格生成的方法、装置、计算机设备和存储介质 |
CN110502516A (zh) * | 2019-08-22 | 2019-11-26 | 深圳前海环融联易信息科技服务有限公司 | 表格数据解析方法、装置、计算机设备及存储介质 |
CN110688349A (zh) * | 2019-08-29 | 2020-01-14 | 重庆小雨点小额贷款有限公司 | 一种文档整理方法、装置、终端及计算机可读存储介质 |
US20200142955A1 (en) * | 2018-11-02 | 2020-05-07 | Dell Products L.P. | Intelligent reporting platform |
CN112328551A (zh) * | 2020-11-09 | 2021-02-05 | 医渡云(北京)技术有限公司 | 医疗数据解析方法、装置、介质及电子设备 |
CN113094345A (zh) * | 2021-04-15 | 2021-07-09 | 浪潮通用软件有限公司 | 一种表格数据文件的导入方法及设备 |
-
2021
- 2021-07-26 CN CN202110843897.4A patent/CN113505580A/zh active Pending
Patent Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040193520A1 (en) * | 2003-03-27 | 2004-09-30 | Lacomb Christina | Automated understanding and decomposition of table-structured electronic documents |
CN103064659A (zh) * | 2011-10-21 | 2013-04-24 | 镇江金软计算机科技有限责任公司 | 基于元数据抽取的saas模式自定义表单系统 |
US20190102620A1 (en) * | 2017-09-29 | 2019-04-04 | Rovi Guides, Inc. | Systems and methods for detecting semantics of columns from tabular data |
CN107870979A (zh) * | 2017-09-30 | 2018-04-03 | 平安科技(深圳)有限公司 | 电子装置、提取数据表的数据的方法及存储介质 |
WO2019169693A1 (zh) * | 2018-03-08 | 2019-09-12 | 平安科技(深圳)有限公司 | 数据快速批量导入方法、电子装置及计算机可读存储介质 |
US20200142955A1 (en) * | 2018-11-02 | 2020-05-07 | Dell Products L.P. | Intelligent reporting platform |
CN110069449A (zh) * | 2019-03-20 | 2019-07-30 | 平安科技(深圳)有限公司 | 文件处理方法、装置、计算机设备和存储介质 |
CN110046334A (zh) * | 2019-03-21 | 2019-07-23 | 平安国际智慧城市科技股份有限公司 | 数据导入方法、装置、计算机设备以及存储介质 |
WO2020186783A1 (zh) * | 2019-03-21 | 2020-09-24 | 平安国际智慧城市科技股份有限公司 | 数据导入方法、装置、计算机设备和存储介质 |
CN110347985A (zh) * | 2019-05-30 | 2019-10-18 | 平安科技(深圳)有限公司 | 表格生成的方法、装置、计算机设备和存储介质 |
CN110502516A (zh) * | 2019-08-22 | 2019-11-26 | 深圳前海环融联易信息科技服务有限公司 | 表格数据解析方法、装置、计算机设备及存储介质 |
CN110688349A (zh) * | 2019-08-29 | 2020-01-14 | 重庆小雨点小额贷款有限公司 | 一种文档整理方法、装置、终端及计算机可读存储介质 |
CN112328551A (zh) * | 2020-11-09 | 2021-02-05 | 医渡云(北京)技术有限公司 | 医疗数据解析方法、装置、介质及电子设备 |
CN113094345A (zh) * | 2021-04-15 | 2021-07-09 | 浪潮通用软件有限公司 | 一种表格数据文件的导入方法及设备 |
Non-Patent Citations (1)
Title |
---|
冯若谦, 周文杰, 王长伟: "Excel表格到AutoCAD表格的转换", 宁夏工程技术, no. 01 * |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114356864A (zh) * | 2021-12-09 | 2022-04-15 | 浪潮云信息技术股份公司 | 国产环境下批量导入excel文件的方法及导入系统 |
CN114595199A (zh) * | 2022-05-10 | 2022-06-07 | 太平金融科技服务(上海)有限公司 | 文件解析方法、装置、计算机设备和存储介质 |
CN114595199B (zh) * | 2022-05-10 | 2022-09-02 | 太平金融科技服务(上海)有限公司 | 文件解析方法、装置、计算机设备和存储介质 |
CN115081416A (zh) * | 2022-08-23 | 2022-09-20 | 中科科界(北京)科技有限公司 | 基于文件解析转码和配置的投票生成方法及装置 |
CN115390853A (zh) * | 2022-09-14 | 2022-11-25 | 北京虎蜥信息技术有限公司 | 多源工艺文件结构化解析方法、系统、终端及存储介质 |
CN115310407A (zh) * | 2022-09-19 | 2022-11-08 | 长沙丹渥智能科技有限公司 | 一种Excel模型的解析方法及系统 |
CN115310407B (zh) * | 2022-09-19 | 2023-09-08 | 长沙丹渥智能科技有限公司 | 一种Excel模型的解析方法及系统 |
CN116415562A (zh) * | 2023-06-06 | 2023-07-11 | 上海朝阳永续信息技术股份有限公司 | 用于解析金融数据的方法、设备和介质 |
CN116415562B (zh) * | 2023-06-06 | 2023-08-25 | 上海朝阳永续信息技术股份有限公司 | 用于解析金融数据的方法、设备和介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113505580A (zh) | 表格文件的解析方法和装置 | |
CN109766529B (zh) | 一种报表的生成方法及设备 | |
CN111222070B (zh) | 数据处理方法、装置、设备及存储介质 | |
CN110096434A (zh) | 一种接口测试方法及装置 | |
CN111367976A (zh) | 基于java反射机制的excel文件数据的导出方法及装置 | |
CN114357943A (zh) | 一种通用高效Excel读取处理方法、工具、介质及设备 | |
US11544669B2 (en) | Computing framework for compliance report generation | |
CN115827084A (zh) | 数据处理方法、装置、设备及存储介质 | |
CN106776779B (zh) | 基于Mac平台的JSON数据生成实体文件的方法 | |
CN115599359A (zh) | 一种代码生成方法、装置、设备及介质 | |
US10984184B2 (en) | Maintenance of a metafile using spreadsheet software | |
CN111124883B (zh) | 一种基于树形表格的测试用例库引入方法、系统及设备 | |
CN110955839B (zh) | 一种税务申报方法、系统及存储介质 | |
CN109584091B (zh) | 保险图像文件的生成方法与装置 | |
CN115544417B (zh) | 一种网页表单验证方法、装置、电子设备及存储介质 | |
CN108804889B (zh) | 一种网站注册方法及装置 | |
CN107977459B (zh) | 报表生成方法及装置 | |
CN116204391A (zh) | 基于自定义配置的预警方法及装置 | |
CN109240660B (zh) | 一种广告数据的接入方法、存储介质、电子设备及系统 | |
US8719693B2 (en) | Method for storing localized XML document values | |
CN113590057A (zh) | 一种自定义小票打印方法、引擎、设备及存储介质 | |
CN111767703A (zh) | 表单数据采集方法、装置和系统 | |
CN109522211A (zh) | 接口参数传递方法、装置、电子设备及存储介质 | |
CN109992293A (zh) | Android系统组件版本信息的组装方法及装置 | |
CN114760365B (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 |