一种基于xml解析的导入excel文件的方法技术

技术编号:15542343 阅读:55 留言:0更新日期:2017-06-05 11:20
本发明专利技术公开了一种基于xml解析的导入excel文件的方法,其实现过程为:将excel作为一个xml进行解析,通过比对excel中表头信息,解析xml中每一个数据单元,并进行格式验证,对数据格式正确的行,导入到相应的数据库的数据表中。该基于xml解析的导入excel文件的方法与现有技术相比,通过设定了表头信息进行匹配,将大数据量文件进行拆分,提高的导入的效率;通过设定特殊的处理方式,提高了数据导入的灵活性和易用性,实用性强,适用范围广泛,易于推广。

A method of importing Excel files based on XML parsing

The invention discloses a method for parsing XML import Excel files based on the realization process is as follows: the excel as a XML analysis, through the comparison of Excel header information in each data unit XML, and verify the format of data format, the right line, into the corresponding database the data in the table. Compared with the method of XML parsing excel file import and based on existing technology, matching by setting the header information, the data file is split, to improve the efficiency of import; by setting special treatment, improve the data into the flexibility and ease of use, strong practicability, wide application range, easy to promotion.

【技术实现步骤摘要】
一种基于xml解析的导入excel文件的方法
本专利技术涉及计算机
,具体地说是一种实用性强、基于xml解析的导入excel文件的方法。
技术介绍
众所周知,excel是一种常见的文件存储方式,然而目前的存储方式为数据库,因此将excel文件中的数据导入到数据库中是数据处理和数据采集不可避免的。目前传统的解析excel的方式存在很多问题,例如:文件不能过大(数据不能超过5万条,每条数据不能超脱10列),excel中文件的记录数超过5万条(每一条记录的列数超过10列)时,java虚拟机报内存溢出,无法打开数据文件;excel仅能包含一个表头信息,当一个excel文件中存在多个表头信息时,必须将该excel拆分为多个不同表头的excel(一个表头对应一个excel数据文件),逐个导入;excel中存在一些行,它们不属于任何一个表头,但是该行中的部分数据需要作为该表头的某列信息导入;对于excel数据导入中,需要将某几列进行简单的处理后,才能导入;不能自动产生附件信息等。对于上述问题,现在的导入方式缺乏灵活性和易用性,从而导致需要浪费大量的人力物力对数据的导入做特殊的处理。基于此,现提供一种基于xml解析的导入excel文件的方法,通过将excel文件当做一个xml文件进行解析和处理,并设定特殊的匹配规则实现大数据量excel文件的快速和灵活的导入,从而为海量数据的采集和数据提供了行之有效的解决方案。
技术实现思路
本专利技术的技术任务是针对以上不足之处,提供一种实用性强、基于xml解析的导入excel文件的方法。一种基于xml解析的导入excel文件的方法,包括请求模块、分发模块和汇总模块,其中,请求模块用于请求文件批量参数处理;分发模块用于任务进程智能分发扫描,即根据用户设置进程数自动分发扫描任务并开启相应进程进行渗透扫描;汇总模块用于扫描结果智能汇总分析,即自动保存并检测扫描结果,提取存在sql注入漏洞的请求及详细结果。所述请求模块通过用户指定全部请求文件保存的根目录路径地址,对路径下全部文件进行分析筛选,选出可进行扫描的请求文件,然后根据用户配置的有效会话信息、数据库服务器和进程数,自动对请求执行批量文本处理以保证请求能够正常得到服务器响应。所述分发模块用于开启指定数目的进程,实现多进程同时批量进行sql注入扫描,扫描过程中该分发模块识别全部参数,并对所有参数发送测试语句,分析响应来判断sql注入。所述汇总模块在全部扫描完毕后,智能检测全部扫描结果,检索存在sql注入漏洞的请求并将漏洞请求扫描结果汇总到指定目录,方便使用者进行结果统计以及具体查看。一种基于xml解析的导入excel文件的方法,其实现过程为:将excel作为一个xml进行解析,通过比对excel中表头信息,解析xml中每一个数据单元,并进行格式验证,对数据格式正确的行,导入到相应的数据库的数据表中。将excel进行解析以两次遍历的方式实现,第一次遍历单表头的情况,将每行与设定的表头进行匹配,确认该excel文件中匹配的表头的相关信息;第二次遍历处理多个表头和表头数据量较多的情况,通过将将原excel拆分为若干仅有一个表头的excel,然后再进入启动线程导入数据库的步骤。在第一次遍历时,确认xcel文件中匹配的表头的相关信息包括:开始行:匹配的表头的数据的第一行在整个excel文件中出现的行数;结束行:匹配的表头的数据的最后一行在整个excel文件中出现的行数。在第二次遍历时,将excel拆分为不同的excel,拆分后的每一个excel文件仅有一个表头,并且数据条数不超过1000条,然后启用多线程,对分割后的每个excel数据文件启动一个线程去导入数据库中。对于解析后的数据,匹配若干sheet页和表头信息,然后拆分表头信息,产生拆分后的子文件,并填充到匹配规则产生的附件信息,最后导入数据库中。所述匹配规则是指通过以下原则进行匹配并保存:首先匹配标题行上一行,即表头的上一行信息;然后匹配文件名,即该excel的文件名;再次匹配标题行的某一行;最后匹配常量;匹配结束后将对应的匹配信息保存到每一个拆分后的excel中,同时不合法的数据保存到一个异常数据的excel中。本专利技术的一种基于xml解析的导入excel文件的方法,具有以下优点:本专利技术的一种基于xml解析的导入excel文件的方法,通过将excel文件当做一个xml文件进行解析和处理,并设定特殊的匹配规则实现大数据量excel文件的快速和灵活的导入,从而为海量数据的采集和数据提供了行之有效的解决方案;通过设定了表头信息进行匹配,将大数据量文件进行拆分,提高的导入的效率;通过设定特殊的处理方式,提高了数据导入的灵活性和易用性,实用性强,适用范围广泛,易于推广。具体实施方式下面结合具体实施例对本专利技术作进一步说明。一种基于xml解析的导入excel文件的方法,根据不同表头信息和设定的特殊表头处理规则(标题行上一行、文件名、标题行的某一行、常量),将大数据量的excel进行拆分和特殊处理信息的自动生成,并分别进行数据导入。本专利技术通过将excel文件解析为xml文件,并设定特殊的匹配规则,将excel文件导入数据库中。其实现过程为:将excel作为一个xml进行解析,通过比对excel中表头信息,解析xml中每一个数据单元,并进行格式验证,对数据格式正确的行,导入到相应的数据库的数据表中。本方法将excel当做一个xml进行解析,通过比对excel中表头信息,解析xml中每一个数据单元,并进行相应的格式验证,对数据格式正确的行,导入到相应的数据库的数据表中。采用两次遍历的方式,第一次遍历主要完成每行与设定的表头进行匹配,确认该excel文件中匹配的表头的相关信息,主要有:(1)开始行:比配的表头的数据的第一行在整个excel文件中出现的行数;(2)结束行:比配的表头的数据的最后一行在整个excel文件中出现的行数;第二次遍历主要处理多个表头和表头数据量较多的情况,将excel拆分为不同的excel(保证每一个excel文件仅有一个表头,并且数据条数不超过1000条),其次启用多线程,对分割后的每个excel数据文件启动一个线程去导入数据库中。数据列处理的规则:(1)标题行上一行:表头的上一行信息。(2)文件名:该excel的文件。(3)标题行的某一行。(4)常量。通过设定特定的匹配表达式和匹配算法,从中提取需要的数据:例如:信息为:"序号:2客户名称:孟伟客户编号:A3701021970051145110";匹配表达式为:"#XH#:#XH2##KHMC#:#NAME##KHBH#:#KHBHNO#";通过匹配算法可以快速的获取客户的名称(NAME:孟伟)和客户编号(KHBHNO:A3701021970051145110)在拆分excel时,通过比对(3)的匹配规则将这些信息保存到每一个拆分后的excel中,对于不符合条件的非法数据,保存到特定的excel中(后期可以认为处理这些非法数据),同时启动线程进行数据的导入处理。在拆分时进行数据格式和导入规则的验证,将不合法的数据保存到一个异常数据的excel中(在第一列前插入一列,用于记录该非法行在原excel中所在的行),可以通过修改非法数据本文档来自技高网...

【技术保护点】
一种基于xml解析的导入excel文件的方法,其特征在于,其实现过程为:将excel作为一个xml进行解析,通过比对excel中表头信息,解析xml中每一个数据单元,并进行格式验证,对数据格式正确的行,导入到相应的数据库的数据表中。

【技术特征摘要】
1.一种基于xml解析的导入excel文件的方法,其特征在于,其实现过程为:将excel作为一个xml进行解析,通过比对excel中表头信息,解析xml中每一个数据单元,并进行格式验证,对数据格式正确的行,导入到相应的数据库的数据表中。2.根据权利要求1所述的一种基于xml解析的导入excel文件的方法,其特征在于,将excel进行解析以两次遍历的方式实现,第一次遍历单表头的情况,将每行与设定的表头进行匹配,确认该excel文件中匹配的表头的相关信息;第二次遍历处理多个表头和表头数据量较多的情况,通过将将原excel拆分为若干仅有一个表头的excel,然后再进入启动线程导入数据库的步骤。3.根据权利要求2所述的一种基于xml解析的导入excel文件的方法,其特征在于,在第一次遍历时,确认xcel文件中匹配的表头的相关信息包括:开始行:匹配的表头的数据的第一行在整个excel文件中出现的行数;结束行:匹配的表头的数据的最后一行在整个excel文件中出现的...

【专利技术属性】
技术研发人员:赵金柱
申请(专利权)人:浪潮软件集团有限公司
类型:发明
国别省市:山东,37

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1