CN106776843A - 一种基于xml解析的导入excel文件的方法 - Google Patents
一种基于xml解析的导入excel文件的方法 Download PDFInfo
- Publication number
- CN106776843A CN106776843A CN201611064883.8A CN201611064883A CN106776843A CN 106776843 A CN106776843 A CN 106776843A CN 201611064883 A CN201611064883 A CN 201611064883A CN 106776843 A CN106776843 A CN 106776843A
- Authority
- CN
- China
- Prior art keywords
- excel
- data
- xml
- gauge outfit
- importing
- 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 30
- 230000008676 import Effects 0.000 claims abstract description 7
- 238000012545 processing Methods 0.000 claims abstract description 7
- 238000005194 fractionation Methods 0.000 claims description 7
- 230000002159 abnormal effect Effects 0.000 claims description 3
- 230000011218 segmentation Effects 0.000 claims description 3
- 238000002347 injection Methods 0.000 description 3
- 239000007924 injection Substances 0.000 description 3
- 239000000243 solution Substances 0.000 description 2
- 241001269238 Data Species 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 230000008595 infiltration Effects 0.000 description 1
- 238000001764 infiltration Methods 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 238000004321 preservation Methods 0.000 description 1
- 238000012216 screening Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/80—Information retrieval; Database structures therefor; File system structures therefor of semi-structured data, e.g. markup language structured data such as SGML, XML or HTML
- G06F16/84—Mapping; Conversion
- G06F16/86—Mapping to a database
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/25—Integrating or interfacing systems involving database management systems
- G06F16/258—Data format conversion from or to a database
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Document Processing Apparatus (AREA)
Abstract
本发明公开了一种基于xml解析的导入excel文件的方法,其实现过程为:将excel作为一个xml进行解析,通过比对excel中表头信息,解析xml中每一个数据单元,并进行格式验证,对数据格式正确的行,导入到相应的数据库的数据表中。该基于xml解析的导入excel文件的方法与现有技术相比,通过设定了表头信息进行匹配,将大数据量文件进行拆分,提高的导入的效率;通过设定特殊的处理方式,提高了数据导入的灵活性和易用性,实用性强,适用范围广泛,易于推广。
Description
技术领域
本发明涉及计算机技术领域,具体地说是一种实用性强、基于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文件的方法的权利要求书的且任何所述技术领域的普通技术人员对其所做的适当变化或替换,皆应落入本发明的专利保护范围。
Claims (6)
1.一种基于xml解析的导入excel文件的方法,其特征在于,其实现过程为:将excel作为一个xml进行解析,通过比对excel中表头信息,解析xml中每一个数据单元,并进行格式验证,对数据格式正确的行,导入到相应的数据库的数据表中。
2.根据权利要求1所述的一种基于xml解析的导入excel文件的方法,其特征在于,将excel进行解析以两次遍历的方式实现,第一次遍历单表头的情况,将每行与设定的表头进行匹配,确认该excel文件中匹配的表头的相关信息;第二次遍历处理多个表头和表头数据量较多的情况,通过将将原excel拆分为若干仅有一个表头的excel,然后再进入启动线程导入数据库的步骤。
3.根据权利要求2所述的一种基于xml解析的导入excel文件的方法,其特征在于,在第一次遍历时,确认xcel文件中匹配的表头的相关信息包括:
开始行:匹配的表头的数据的第一行在整个excel文件中出现的行数;
结束行:匹配的表头的数据的最后一行在整个excel文件中出现的行数。
4.根据权利要求2所述的一种基于xml解析的导入excel文件的方法,其特征在于,在第二次遍历时,将excel拆分为不同的excel,拆分后的每一个excel文件仅有一个表头,并且数据条数不超过1000条,然后启用多线程,对分割后的每个excel数据文件启动一个线程去导入数据库中。
5.根据权利要求1所述的一种基于xml解析的导入excel文件的方法,其特征在于,对于解析后的数据,匹配若干sheet页和表头信息,然后拆分表头信息,产生拆分后的子文件,并填充到匹配规则产生的附件信息,最后导入数据库中。
6.根据权利要求5所述的一种基于xml解析的导入excel文件的方法,其特征在于,所述匹配规则是指通过以下原则进行匹配并保存:首先匹配标题行上一行,即表头的上一行信息;然后匹配文件名,即该excel的文件名;再次匹配标题行的某一行;最后匹配常量;匹配结束后将对应的匹配信息保存到每一个拆分后的excel中,同时不合法的数据保存到一个异常数据的excel中。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611064883.8A CN106776843A (zh) | 2016-11-28 | 2016-11-28 | 一种基于xml解析的导入excel文件的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611064883.8A CN106776843A (zh) | 2016-11-28 | 2016-11-28 | 一种基于xml解析的导入excel文件的方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN106776843A true CN106776843A (zh) | 2017-05-31 |
Family
ID=58902073
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201611064883.8A Pending CN106776843A (zh) | 2016-11-28 | 2016-11-28 | 一种基于xml解析的导入excel文件的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106776843A (zh) |
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107544814A (zh) * | 2017-09-16 | 2018-01-05 | 陈兴雷 | 一种利用Python实现两类多个Excel电子表格合并数据的方法 |
CN107562705A (zh) * | 2017-07-25 | 2018-01-09 | 努比亚技术有限公司 | 一种数据导出方法、服务端及计算机可读存储介质 |
CN107784085A (zh) * | 2017-09-30 | 2018-03-09 | 平安科技(深圳)有限公司 | 一种数据列表的导出方法及其终端 |
CN107844520A (zh) * | 2017-10-09 | 2018-03-27 | 平安科技(深圳)有限公司 | 电子装置、车辆数据导入方法及存储介质 |
CN107861885A (zh) * | 2017-11-07 | 2018-03-30 | 浪潮软件股份有限公司 | 一种数据传输方法及传输装置 |
CN107992567A (zh) * | 2017-11-29 | 2018-05-04 | 北京天健通泰科技有限公司 | 数据采集方法及数据采集系统 |
CN108460149A (zh) * | 2018-03-22 | 2018-08-28 | 平安科技(深圳)有限公司 | 文本数据处理方法、装置、设备及计算机可读存储介质 |
CN109376152A (zh) * | 2018-09-13 | 2019-02-22 | 广州帷策智能科技有限公司 | 大数据系统文件数据准备方法和系统 |
CN109408555A (zh) * | 2018-09-19 | 2019-03-01 | 智器云南京信息科技有限公司 | 数据类型识别方法及装置、数据入库方法及装置 |
CN109446257A (zh) * | 2018-10-18 | 2019-03-08 | 浪潮软件集团有限公司 | 一种将excel文件数据导入数据库的方法及装置 |
CN109919435A (zh) * | 2019-01-29 | 2019-06-21 | 国网物资有限公司 | 招标技术参数自动筛查系统及方法 |
CN110019485A (zh) * | 2018-02-07 | 2019-07-16 | 中国平安人寿保险股份有限公司 | 一种产品数据入库方法、终端设备及存储介质 |
CN110457302A (zh) * | 2019-07-31 | 2019-11-15 | 河南开合软件技术有限公司 | 一种结构化数据智能清洗方法 |
CN110750960A (zh) * | 2018-07-05 | 2020-02-04 | 武汉斗鱼网络科技有限公司 | 一种配置文件的解析方法、存储介质、电子设备及系统 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020174098A1 (en) * | 2001-05-04 | 2002-11-21 | Lasmsoft Corporation | Method and system for providing a dynamic and real-time exchange between heterogeneous database systems |
CN102542038A (zh) * | 2011-12-27 | 2012-07-04 | 浪潮通信信息系统有限公司 | 一种通用可配置的标准局数据入库方法 |
CN102841784A (zh) * | 2011-06-24 | 2012-12-26 | 镇江华扬信息科技有限公司 | 一种Excel数据动态导入数据库的方法 |
CN103020089A (zh) * | 2011-09-27 | 2013-04-03 | 深圳市金蝶友商电子商务服务有限公司 | 一种将excel文件中的数据导入数据库的方法及装置 |
CN103150380A (zh) * | 2013-03-13 | 2013-06-12 | 河海大学 | 一种可定制表格式的Excel表解析方法 |
CN103744982A (zh) * | 2014-01-15 | 2014-04-23 | 北京神州普惠科技股份有限公司 | 一种将Excel数据导入数据库的方法 |
-
2016
- 2016-11-28 CN CN201611064883.8A patent/CN106776843A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020174098A1 (en) * | 2001-05-04 | 2002-11-21 | Lasmsoft Corporation | Method and system for providing a dynamic and real-time exchange between heterogeneous database systems |
CN102841784A (zh) * | 2011-06-24 | 2012-12-26 | 镇江华扬信息科技有限公司 | 一种Excel数据动态导入数据库的方法 |
CN103020089A (zh) * | 2011-09-27 | 2013-04-03 | 深圳市金蝶友商电子商务服务有限公司 | 一种将excel文件中的数据导入数据库的方法及装置 |
CN102542038A (zh) * | 2011-12-27 | 2012-07-04 | 浪潮通信信息系统有限公司 | 一种通用可配置的标准局数据入库方法 |
CN103150380A (zh) * | 2013-03-13 | 2013-06-12 | 河海大学 | 一种可定制表格式的Excel表解析方法 |
CN103744982A (zh) * | 2014-01-15 | 2014-04-23 | 北京神州普惠科技股份有限公司 | 一种将Excel数据导入数据库的方法 |
Non-Patent Citations (1)
Title |
---|
王旭辉: "Excel数据导入数据库的设计实现", 《现代电子技术》 * |
Cited By (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107562705A (zh) * | 2017-07-25 | 2018-01-09 | 努比亚技术有限公司 | 一种数据导出方法、服务端及计算机可读存储介质 |
CN107544814A (zh) * | 2017-09-16 | 2018-01-05 | 陈兴雷 | 一种利用Python实现两类多个Excel电子表格合并数据的方法 |
CN107784085A (zh) * | 2017-09-30 | 2018-03-09 | 平安科技(深圳)有限公司 | 一种数据列表的导出方法及其终端 |
CN107784085B (zh) * | 2017-09-30 | 2021-04-13 | 平安科技(深圳)有限公司 | 一种数据列表的导出方法及其终端 |
WO2019071899A1 (zh) * | 2017-10-09 | 2019-04-18 | 平安科技(深圳)有限公司 | 电子装置、车辆数据导入方法及存储介质 |
CN107844520A (zh) * | 2017-10-09 | 2018-03-27 | 平安科技(深圳)有限公司 | 电子装置、车辆数据导入方法及存储介质 |
CN107861885A (zh) * | 2017-11-07 | 2018-03-30 | 浪潮软件股份有限公司 | 一种数据传输方法及传输装置 |
CN107992567A (zh) * | 2017-11-29 | 2018-05-04 | 北京天健通泰科技有限公司 | 数据采集方法及数据采集系统 |
CN110019485A (zh) * | 2018-02-07 | 2019-07-16 | 中国平安人寿保险股份有限公司 | 一种产品数据入库方法、终端设备及存储介质 |
CN108460149A (zh) * | 2018-03-22 | 2018-08-28 | 平安科技(深圳)有限公司 | 文本数据处理方法、装置、设备及计算机可读存储介质 |
CN110750960A (zh) * | 2018-07-05 | 2020-02-04 | 武汉斗鱼网络科技有限公司 | 一种配置文件的解析方法、存储介质、电子设备及系统 |
CN109376152A (zh) * | 2018-09-13 | 2019-02-22 | 广州帷策智能科技有限公司 | 大数据系统文件数据准备方法和系统 |
CN109408555A (zh) * | 2018-09-19 | 2019-03-01 | 智器云南京信息科技有限公司 | 数据类型识别方法及装置、数据入库方法及装置 |
CN109408555B (zh) * | 2018-09-19 | 2022-11-11 | 智器云南京信息科技有限公司 | 数据类型识别方法及装置、数据入库方法及装置 |
CN109446257A (zh) * | 2018-10-18 | 2019-03-08 | 浪潮软件集团有限公司 | 一种将excel文件数据导入数据库的方法及装置 |
CN109919435A (zh) * | 2019-01-29 | 2019-06-21 | 国网物资有限公司 | 招标技术参数自动筛查系统及方法 |
CN110457302A (zh) * | 2019-07-31 | 2019-11-15 | 河南开合软件技术有限公司 | 一种结构化数据智能清洗方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106776843A (zh) | 一种基于xml解析的导入excel文件的方法 | |
RU2014124207A (ru) | Способ и методы сбора, предоставления и управления информацией о медицинских диагностических процедурах | |
CN109254907B (zh) | 一种基于Java的接口测试报告生成方法及系统 | |
US20140297680A1 (en) | Analyzing multiple data streams as a single data object | |
CN108509658B (zh) | 一种xml文件的解析方法和装置 | |
CN105653592A (zh) | 一种基于hdfs的小文件合并工具和方法 | |
CN103186639B (zh) | 数据生成方法及系统 | |
CN104933101B (zh) | 一种基于svn的配置审计信息自动统计方法 | |
CN113297182B (zh) | 数据迁移方法、设备、存储介质及程序产品 | |
CN110737689B (zh) | 数据标准符合性检测方法、装置、系统及存储介质 | |
CN105740232A (zh) | 一种自动提取反馈热点的方法和装置 | |
Bellini et al. | Metadata quality assessment tool for open access cultural heritage institutional repositories | |
CN105335459B (zh) | 基于xbrl智能报告平台的合并报表数据抽取方法 | |
CN109977082A (zh) | 一种大批量数据自动比对的方法及计算机可读存储介质 | |
CN110516220B (zh) | 一种报表数据录入方法、系统及相关设备 | |
CN109918391B (zh) | 一种流式事务处理方法及系统 | |
KR102345410B1 (ko) | 빅데이터 지능형 수집 방법 및 장치 | |
CN103699482B (zh) | 控件合理性检测方法和装置 | |
US20110191292A1 (en) | Method and system for data synchronization | |
CN109582345A (zh) | 报告自动生成方法、装置、存储介质和计算机设备 | |
CN115510055A (zh) | 基于聚合处理的时序数据存储管理方法、介质及集中器 | |
CN114028817A (zh) | 一种用于剧本杀体验反馈的信息登记系统 | |
CN112612812A (zh) | 一种多系统数据的处理方法及装置 | |
CN111221777A (zh) | 一种数据记录的匹配方法及装置 | |
CN114915807B (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 | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20170531 |
|
WD01 | Invention patent application deemed withdrawn after publication |