CN109446257A - 一种将excel文件数据导入数据库的方法及装置 - Google Patents
一种将excel文件数据导入数据库的方法及装置 Download PDFInfo
- Publication number
- CN109446257A CN109446257A CN201811215909.3A CN201811215909A CN109446257A CN 109446257 A CN109446257 A CN 109446257A CN 201811215909 A CN201811215909 A CN 201811215909A CN 109446257 A CN109446257 A CN 109446257A
- Authority
- CN
- China
- Prior art keywords
- gauge outfit
- subfile
- data
- group
- file
- 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 40
- 238000013507 mapping Methods 0.000 claims abstract description 37
- 230000008676 import Effects 0.000 claims abstract description 27
- 238000012545 processing Methods 0.000 claims description 10
- 238000005194 fractionation Methods 0.000 claims description 3
- 230000005055 memory storage Effects 0.000 claims description 3
- 241001269238 Data Species 0.000 description 6
- 230000008569 process Effects 0.000 description 5
- 230000002159 abnormal effect Effects 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 1
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供了一种将excel文件数据导入数据库的方法及装置。确定各sheet中记录有若干类表头的excel文件,各类表头的表头个数不小于1,各表头下记录有若干列数据,不同表头的表头内容不同;确定映射关系包括:该文件的任一表头对应有数据库中一数据表,该表头下的每一列对应有相应数据表中的一列;将该文件解析为xml文件并基于此拆分出若干文件夹,不同文件夹对应的表头类别不同,各文件夹中包括若干组子文件,各组子文件中包括若干子文件,不同组子文件对应的表头不同,各组子文件记录有对应表头及其下的全部数据;根据映射关系将各组子文件中的数据导入到对应数据表中。故可实现数据从excel文件至数据库的自动导入。
Description
技术领域
本发明涉及计算机技术领域,特别涉及一种将excel文件数据导入数据库的方法及装置。
背景技术
众所周知,excel是一种常见的文件存储方式,数据库这一存储方式也应用普遍,因此将excel文件中的数据导入到数据库中是数据处理和数据采集不可避免的。
目前,一个excel文件中可以包括多个表头,当不同表头下数据需要导入数据库的不同数据表中时,往往需要工作人员人为按需导入。
但是,这一人为导入方式浪费人力物力。
发明内容
本发明提供了一种将excel文件数据导入数据库的方法及装置,能够实现数据从excel文件至数据库的自动导入。
为了达到上述目的,本发明是通过如下技术方案实现的:
第一方面,本发明提供了一种将excel文件数据导入数据库的方法,
确定待处理的excel文件,其中,所述excel文件包括至少一个sheet,每一个sheet中均记录有至少一类表头,每一类表头的表头个数均为至少一个,每一个表头下均记录有至少一列数据,不同表头的表头内容不同;
确定映射关系,所述映射关系包括:对于所述excel文件包括的全部表头中的任一第一表头,所述第一表头对应有数据库中的一个数据表,所述第一表头下的每一列均对应有所述第一表头对应数据表中的一列;
还包括:
将所述excel文件解析为xml文件;
基于所述xml文件以拆分出至少一个文件夹,其中,不同文件夹对应的表头类别不同,每一个文件夹中均包括至少一组子文件,每一组子文件中均包括至少一个子文件,不同组子文件对应的表头不同,每一组子文件均记录有对应表头及对应表头下的全部数据;
根据所述映射关系,将拆分得到的每一组子文件中的数据分别导入到对应数据表中。
进一步地,所述基于所述xml文件以拆分出至少一个文件夹,包括:
针对所述xml文件包括的每一个sheet均执行:按照行数自小至大的顺序,依次确定当前sheet中的每一个表头;
根据确定出的每一个表头的表头类别,构建每一类表头所对应的文件夹;
针对确定出的每一个表头均执行:判断当前表头下全部数据的总行数是否不小于预设阈值,若是,在所述当前表头的表头类别对应的文件夹下,构建所述当前表头对应的一组子文件,且对于该组子文件中的任一第一子文件,所述第一子文件中、所述当前表头下全部数据的总行数不大于所述预设阈值,所述第一子文件中的任一行数据不存在于任一同组的其他子文件中,否则,在所述当前表头的表头类别对应的文件夹下,构建所述当前表头对应的子文件。
进一步地,该方法还包括:根据公式一,确定所述当前表头对应的一组子文件中子文件的个数;
所述公式一包括:N=X/x
其中,N为所述当前表头对应的一组子文件中子文件的个数,且取值方式为向上取整,X为所述当前表头下全部数据的总行数,x为所述预设阈值。
进一步地,所述将拆分得到的每一组子文件中的数据分别导入到对应数据表中,包括:采用不同组子文件间多线程导入、同一组子文件间单线程导入的方式,将拆分得到的每一组子文件中的数据分别导入到对应数据表中。
第二方面,本发明提供了一种将excel文件数据导入数据库的装置,包括:
第一确定单元,用于确定待处理的excel文件,其中,所述excel文件包括至少一个sheet,每一个sheet中均记录有至少一类表头,每一类表头的表头个数均为至少一个,每一个表头下均记录有至少一列数据,不同表头的表头内容不同;
第二确定单元,用于确定映射关系,所述映射关系包括:对于所述excel文件包括的全部表头中的任一第一表头,所述第一表头对应有数据库中的一个数据表,所述第一表头下的每一列均对应有所述第一表头对应数据表中的一列;
解析单元,用于将所述excel文件解析为xml文件;
处理单元,用于基于所述xml文件以拆分出至少一个文件夹,其中,不同文件夹对应的表头类别不同,每一个文件夹中均包括至少一组子文件,每一组子文件中均包括至少一个子文件,不同组子文件对应的表头不同,每一组子文件均记录有对应表头及对应表头下的全部数据;
导入单元,用于根据所述映射关系,将拆分得到的每一组子文件中的数据分别导入到对应数据表中。
进一步地,所述处理单元,用于针对所述xml文件包括的每一个sheet均执行:按照行数自小至大的顺序,依次确定当前sheet中的每一个表头;根据确定出的每一个表头的表头类别,构建每一类表头所对应的文件夹;针对确定出的每一个表头均执行:判断当前表头下全部数据的总行数是否不小于预设阈值,若是,在所述当前表头的表头类别对应的文件夹下,构建所述当前表头对应的一组子文件,且对于该组子文件中的任一第一子文件,所述第一子文件中、所述当前表头下全部数据的总行数不大于所述预设阈值,所述第一子文件中的任一行数据不存在于任一同组的其他子文件中,否则,在所述当前表头的表头类别对应的文件夹下,构建所述当前表头对应的子文件。
进一步地,所述处理单元,还用于根据公式一,确定所述当前表头对应的一组子文件中子文件的个数;
所述公式一包括:N=X/x
其中,N为所述当前表头对应的一组子文件中子文件的个数,且取值方式为向上取整,X为所述当前表头下全部数据的总行数,x为所述预设阈值。
进一步地,所述导入单元,用于采用不同组子文件间多线程导入、同一组子文件间单线程导入的方式,将拆分得到的每一组子文件中的数据分别导入到对应数据表中。
第三方面,本发明提供了一种可读介质,包括执行指令,当存储控制器的处理器执行所述执行指令时,所述存储控制器执行上述任一所述的将excel文件数据导入数据库的方法。
第四方面,本发明提供了一种存储控制器,包括:处理器、存储器和总线;
所述存储器用于存储执行指令,所述处理器与所述存储器通过所述总线连接,当所述存储控制器运行时,所述处理器执行所述存储器存储的所述执行指令,以使所述存储控制器执行上述任一所述的将excel文件数据导入数据库的方法。
本发明提供了一种将excel文件数据导入数据库的方法及装置。确定各sheet中记录有若干类表头的excel文件,各类表头的表头个数不小于1,各表头下记录有若干列数据,不同表头的表头内容不同;确定映射关系包括:该文件的任一表头对应有数据库中一数据表,该表头下的每一列对应有相应数据表中的一列;将该文件解析为xml文件并基于此拆分出若干文件夹,不同文件夹对应的表头类别不同,各文件夹中包括若干组子文件,各组子文件中包括若干子文件,不同组子文件对应的表头不同,各组子文件记录有对应表头及其下的全部数据;根据映射关系将各组子文件中的数据导入到对应数据表中。故可实现数据从excel文件至数据库的自动导入。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明一实施例提供的一种将excel文件数据导入数据库的方法的流程图;
图2是本发明一实施例提供的另一种将excel文件数据导入数据库的方法的流程图;
图3是本发明一实施例提供的一种将excel文件数据导入数据库的装置的示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例,基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图1所示,本发明实施例提供了一种将excel文件数据导入数据库的方法,可以包括以下步骤:
步骤101:确定待处理的excel文件,其中,所述excel文件包括至少一个sheet,每一个sheet中均记录有至少一类表头,每一类表头的表头个数均为至少一个,每一个表头下均记录有至少一列数据,不同表头的表头内容不同。
步骤102:确定映射关系,所述映射关系包括:对于所述excel文件包括的全部表头中的任一第一表头,所述第一表头对应有数据库中的一个数据表,所述第一表头下的每一列均对应有所述第一表头对应数据表中的一列。
步骤103:将所述excel文件解析为xml文件。
步骤104:基于所述xml文件以拆分出至少一个文件夹,其中,不同文件夹对应的表头类别不同,每一个文件夹中均包括至少一组子文件,每一组子文件中均包括至少一个子文件,不同组子文件对应的表头不同,每一组子文件均记录有对应表头及对应表头下的全部数据。
步骤105:根据所述映射关系,将拆分得到的每一组子文件中的数据分别导入到对应数据表中。
本发明实施例提供了一种将excel文件数据导入数据库的方法,该方法包括:确定各sheet中记录有若干类表头的excel文件,各类表头的表头个数不小于1,各表头下记录有若干列数据,不同表头的表头内容不同;确定映射关系包括:该文件的任一表头对应有数据库中一数据表,该表头下的每一列对应有相应数据表中的一列;将该文件解析为xml文件并基于此拆分出若干文件夹,不同文件夹对应的表头类别不同,各文件夹中包括若干组子文件,各组子文件中包括若干子文件,不同组子文件对应的表头不同,各组子文件记录有对应表头及其下的全部数据;根据映射关系将各组子文件中的数据导入到对应数据表中。故可实现数据从excel文件至数据库的自动导入。
详细地,一个excel文件通常可以包括至少一个sheet,故可基于同样的实现原理,以针对各个sheet依次进行分析处理。
详细地,上述子文件可以为新创建的xml文件。每一个xml文件中仅包含一个表头。
举例来说,假设当前待处理的excel文件仅包括1个sheet,且该sheet的内容可以如下述表1所示。
表1
在上述步骤101中,请参考表1,可以看出,excel文件的唯一sheet中记录有2类表头,第一类表头的个数为2个,假设分别记作表头1和表头2,表头1如表1中第1~2行所示,表头2如表1中第51~52行所示,第二类表头的个数为1个,假设记作表头3,表头3如表1中第66行所示。其中,表头1下记录有5列数据,表头2下记录有5列数据,表头3下记录有7列数据。请参考表1,表头1和表头2虽同属同一类表头,但两表头的表头内容不同。
假设在上述步骤102中,确定的映射关系为:表头1下的数据导入数据库的数据表1中,具体地是将表头1下的第1~5列分别导入至数据表1的第1~5列;表头2下的数据导入数据库的数据表2中,具体地是将表头2下的第1~3列分别导入至数据表2的第5~7列;表头3下的数据导入数据库的数据表3中,具体地是将表头3下的第1~7列分别导入至数据表3的第1~7列。
本发明实施例中,可在确定好映射关系后,将excel文件解析为xml文件,以基于xml文件实现将数据导入数据库的操作。
基于上述内容,在上述步骤104中,可以拆分出2个文件夹,假设分别为上述第一类表头对应的文件夹1和上述第二类表头对应的文件夹2。具体地,文件夹1下设有2组子文件,假设分别为对应于表头1的子文件组1和对应于表头2的子文件组2,文件夹2下设有1组子文件,假设为对应于表头3的子文件组3。
如此,子文件组1可以记录有表头1及其下全部数据,即记录有上述第1~50行;子文件组2可以记录有表头2及其下全部数据,即记录有上述第51~65行;子文件组3可以记录有表头3及其下全部数据,即记录有上述第66~80行。
在上述步骤105中,即可将子文件组1中的数据导入到数据表1中,将子文件组2中的数据导入到数据表2中,将子文件组3中的数据导入到数据表3中,从而完成从excel文件向数据库的数据自动导入。
在本发明的一个实施例中,所述基于所述xml文件以拆分出至少一个文件夹,包括:
针对所述xml文件包括的每一个sheet均执行:按照行数自小至大的顺序,依次确定当前sheet中的每一个表头;
根据确定出的每一个表头的表头类别,构建每一类表头所对应的文件夹;
针对确定出的每一个表头均执行:判断当前表头下全部数据的总行数是否不小于预设阈值,若是,在所述当前表头的表头类别对应的文件夹下,构建所述当前表头对应的一组子文件,且对于该组子文件中的任一第一子文件,所述第一子文件中、所述当前表头下全部数据的总行数不大于所述预设阈值,所述第一子文件中的任一行数据不存在于任一同组的其他子文件中,否则,在所述当前表头的表头类别对应的文件夹下,构建所述当前表头对应的子文件。
举例来说,假设这一预设阈值为20,则上述子文件组1可包括4个子文件,上述子文件组2和子文件组3均包括1个子文件,即一个子文件即为一组子文件。
其中,子文件组1包括的4个子文件,可以分别记作子文件1~子文件4,且该4个子文件不仅均记录有上述表头1,且分别记录有表头1下的不同行。比如,这4个子文件分别记录第3~14行、第15~26行、第27~38行、第39~50行。
为降低系统运算量,通常情况下,各组子文件中所包括的子文件个数通常越小越好。如此,在本发明的一个实施例中,该方法可以进一步包括:根据下述公式(1),确定所述当前表头对应的一组子文件中子文件的个数;
N=X/x(1)
其中,N为所述当前表头对应的一组子文件中子文件的个数,且取值方式为向上取整,X为所述当前表头下全部数据的总行数,x为所述预设阈值。
如此,本发明实施例中,子文件组1包括3个子文件,可以分别记作子文件5、子文件6和子文件7。
举例来说,这3个子文件的记录内容可以为,子文件5记录第3~18行,子文件6记录第19~34行,子文件7记录第35~50行,即各自记录16行,所记录行数并未超过预设阈值。
再比如,这3个子文件的记录内容可以为,子文件5记录第3~22行,子文件6记录第23~42行,子文件7记录第43~50行。3个子文件的记录行数未超过预设阈值。
在本发明的一个实施例中,所述将拆分得到的每一组子文件中的数据分别导入到对应数据表中,包括:采用不同组子文件间多线程导入、同一组子文件间单线程导入的方式,将拆分得到的每一组子文件中的数据分别导入到对应数据表中。
详细地,由于各子文件中均记录有待导入的数据,且数据布局与原excel文件相一致,故可以基于确定好的映射关系,将各子文件数据导入对应数据表中。当然,在导入数据表中,仅向数据表导入存在映射关系的列的数据。
在本发明一个实施例中,在导入数据表之前,还可进行数据校验。比如,预定流水号以纯数字组成,故校验过程中可校验到,上述第50行中的流水号异常,故可执行相应异常报警处理。
综上所述,本发明实施例通过将excel文件当做一个xml文件进行解析和处理,并设定特殊的映射关系,可实现一次性将大数据量excel文件快速和灵活的导入多张数据表,从而为海量数据的采集和数据提供了行之有效的解决方案。本发明实施例通过转换excel的解析方式并配置excel表头与数据表的多个映射关系,提高了多表头excel文件导入数据库的灵活性。
如图2所示,本发明一个实施例提供了另一种将excel文件数据导入数据库的方法,具体包括以下步骤:
步骤201:确定待处理的excel文件,其中,excel文件包括至少一个sheet,每一个sheet中均记录有至少一类表头,每一类表头的表头个数均为至少一个,每一个表头下均记录有至少一列数据,不同表头的表头内容不同。
步骤202:确定映射关系,映射关系包括:对于excel文件包括的全部表头中的任一第一表头,第一表头对应有数据库中的一个数据表,第一表头下的每一列均对应有第一表头对应数据表中的一列。
步骤203:将excel文件解析为xml文件。
步骤204:针对xml文件包括的每一个sheet均执行:按照行数自小至大的顺序,依次确定当前sheet中的每一个表头。
步骤205:根据确定出的每一个表头的表头类别,构建每一类表头所对应的文件夹。
详细地,不同文件夹对应的表头类别不同。
步骤206:针对确定出的每一个表头均执行:判断当前表头下全部数据的总行数是否不小于预设阈值,若是,在当前表头的表头类别对应的文件夹下,构建当前表头对应的一组子文件,且对于该组子文件中的任一第一子文件,第一子文件中、当前表头下全部数据的总行数不大于预设阈值,第一子文件中的任一行数据不存在于任一同组的其他子文件中,否则,在当前表头的表头类别对应的文件夹下,构建当前表头对应的子文件。
详细地,每一个文件夹中均包括至少一组子文件,每一组子文件中均包括至少一个子文件,不同组子文件对应的表头不同,每一组子文件均记录有对应表头及对应表头下的全部数据。
详细地,可以根据上述公式(1),确定当前表头对应的一组子文件中子文件的个数。
步骤207:根据映射关系,采用不同组子文件间多线程导入、同一组子文件间单线程导入的方式,将拆分得到的每一组子文件中的数据分别导入到对应数据表中。
如图3所示,本发明一个实施例提供了一种将excel文件数据导入数据库的装置,可以包括:
第一确定单元301,用于确定待处理的excel文件,其中,所述excel文件包括至少一个sheet,每一个sheet中均记录有至少一类表头,每一类表头的表头个数均为至少一个,每一个表头下均记录有至少一列数据,不同表头的表头内容不同;
第二确定单元302,用于确定映射关系,所述映射关系包括:对于所述excel文件包括的全部表头中的任一第一表头,所述第一表头对应有数据库中的一个数据表,所述第一表头下的每一列均对应有所述第一表头对应数据表中的一列;
解析单元303,用于将所述excel文件解析为xml文件;
处理单元304,用于基于所述xml文件以拆分出至少一个文件夹,其中,不同文件夹对应的表头类别不同,每一个文件夹中均包括至少一组子文件,每一组子文件中均包括至少一个子文件,不同组子文件对应的表头不同,每一组子文件均记录有对应表头及对应表头下的全部数据;
导入单元305,用于根据所述映射关系,将拆分得到的每一组子文件中的数据分别导入到对应数据表中。
在本发明一个实施例中,所述处理单元304,用于针对所述xml文件包括的每一个sheet均执行:按照行数自小至大的顺序,依次确定当前sheet中的每一个表头;根据确定出的每一个表头的表头类别,构建每一类表头所对应的文件夹;针对确定出的每一个表头均执行:判断当前表头下全部数据的总行数是否不小于预设阈值,若是,在所述当前表头的表头类别对应的文件夹下,构建所述当前表头对应的一组子文件,且对于该组子文件中的任一第一子文件,所述第一子文件中、所述当前表头下全部数据的总行数不大于所述预设阈值,所述第一子文件中的任一行数据不存在于任一同组的其他子文件中,否则,在所述当前表头的表头类别对应的文件夹下,构建所述当前表头对应的子文件。
在本发明一个实施例中,所述处理单元304,还用于根据上述公式(1),确定所述当前表头对应的一组子文件中子文件的个数。
在本发明一个实施例中,所述导入单元305,用于采用不同组子文件间多线程导入、同一组子文件间单线程导入的方式,将拆分得到的每一组子文件中的数据分别导入到对应数据表中。
上述装置内的各单元之间的信息交互、执行过程等内容,由于与本发明方法实施例基于同一构思,具体内容可参见本发明方法实施例中的叙述,此处不再赘述。
基于上述内容,本发明一个实施例还提供了一种可读介质,包括执行指令,当存储控制器的处理器执行所述执行指令时,所述存储控制器执行上述任一所述的将excel文件数据导入数据库的方法。
此外,本发明一个实施例还一种存储控制器,包括:处理器、存储器和总线;
所述存储器用于存储执行指令,所述处理器与所述存储器通过所述总线连接,当所述存储控制器运行时,所述处理器执行所述存储器存储的所述执行指令,以使所述存储控制器执行上述任一所述的将excel文件数据导入数据库的方法。
综上所述,本发明的实施例具有至少如下有益效果:
1、本发明实施例中,确定各sheet中记录有若干类表头的excel文件,各类表头的表头个数不小于1,各表头下记录有若干列数据,不同表头的表头内容不同;确定映射关系包括:该文件的任一表头对应有数据库中一数据表,该表头下的每一列对应有相应数据表中的一列;将该文件解析为xml文件并基于此拆分出若干文件夹,不同文件夹对应的表头类别不同,各文件夹中包括若干组子文件,各组子文件中包括若干子文件,不同组子文件对应的表头不同,各组子文件记录有对应表头及其下的全部数据;根据映射关系将各组子文件中的数据导入到对应数据表中。故可实现数据从excel文件至数据库的自动导入。
2、本发明实施例通过将excel文件当做一个xml文件进行解析和处理,并设定特殊的映射关系,可实现一次性将大数据量excel文件快速和灵活的导入多张数据表,从而为海量数据的采集和数据提供了行之有效的解决方案。本发明实施例通过转换excel的解析方式并配置excel表头与数据表的多个映射关系,提高了多表头excel文件导入数据库的灵活性。
需要说明的是,在本文中,诸如第一和第二之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个······”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同因素。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储在计算机可读取的存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质中。
最后需要说明的是:以上所述仅为本发明的较佳实施例,仅用于说明本发明的技术方案,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所做的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
Claims (10)
1.一种将excel文件数据导入数据库的方法,其特征在于,
确定待处理的excel文件,其中,所述excel文件包括至少一个sheet,每一个sheet中均记录有至少一类表头,每一类表头的表头个数均为至少一个,每一个表头下均记录有至少一列数据,不同表头的表头内容不同;
确定映射关系,所述映射关系包括:对于所述excel文件包括的全部表头中的任一第一表头,所述第一表头对应有数据库中的一个数据表,所述第一表头下的每一列均对应有所述第一表头对应数据表中的一列;
还包括:
将所述excel文件解析为xml文件;
基于所述xml文件以拆分出至少一个文件夹,其中,不同文件夹对应的表头类别不同,每一个文件夹中均包括至少一组子文件,每一组子文件中均包括至少一个子文件,不同组子文件对应的表头不同,每一组子文件均记录有对应表头及对应表头下的全部数据;
根据所述映射关系,将拆分得到的每一组子文件中的数据分别导入到对应数据表中。
2.根据权利要求1所述的方法,其特征在于,
所述基于所述xml文件以拆分出至少一个文件夹,包括:
针对所述xml文件包括的每一个sheet均执行:按照行数自小至大的顺序,依次确定当前sheet中的每一个表头;
根据确定出的每一个表头的表头类别,构建每一类表头所对应的文件夹;
针对确定出的每一个表头均执行:判断当前表头下全部数据的总行数是否不小于预设阈值,若是,在所述当前表头的表头类别对应的文件夹下,构建所述当前表头对应的一组子文件,且对于该组子文件中的任一第一子文件,所述第一子文件中、所述当前表头下全部数据的总行数不大于所述预设阈值,所述第一子文件中的任一行数据不存在于任一同组的其他子文件中,否则,在所述当前表头的表头类别对应的文件夹下,构建所述当前表头对应的子文件。
3.根据权利要求2所述的方法,其特征在于,
进一步包括:根据公式一,确定所述当前表头对应的一组子文件中子文件的个数;
所述公式一包括:N=X/x
其中,N为所述当前表头对应的一组子文件中子文件的个数,且取值方式为向上取整,X为所述当前表头下全部数据的总行数,x为所述预设阈值。
4.根据权利要求2或3所述的方法,其特征在于,
所述将拆分得到的每一组子文件中的数据分别导入到对应数据表中,包括:采用不同组子文件间多线程导入、同一组子文件间单线程导入的方式,将拆分得到的每一组子文件中的数据分别导入到对应数据表中。
5.一种将excel文件数据导入数据库的装置,其特征在于,包括:
第一确定单元,用于确定待处理的excel文件,其中,所述excel文件包括至少一个sheet,每一个sheet中均记录有至少一类表头,每一类表头的表头个数均为至少一个,每一个表头下均记录有至少一列数据,不同表头的表头内容不同;
第二确定单元,用于确定映射关系,所述映射关系包括:对于所述excel文件包括的全部表头中的任一第一表头,所述第一表头对应有数据库中的一个数据表,所述第一表头下的每一列均对应有所述第一表头对应数据表中的一列;
解析单元,用于将所述excel文件解析为xml文件;
处理单元,用于基于所述xml文件以拆分出至少一个文件夹,其中,不同文件夹对应的表头类别不同,每一个文件夹中均包括至少一组子文件,每一组子文件中均包括至少一个子文件,不同组子文件对应的表头不同,每一组子文件均记录有对应表头及对应表头下的全部数据;
导入单元,用于根据所述映射关系,将拆分得到的每一组子文件中的数据分别导入到对应数据表中。
6.根据权利要求5所述的将excel文件数据导入数据库的装置,其特征在于,
所述处理单元,用于针对所述xml文件包括的每一个sheet均执行:按照行数自小至大的顺序,依次确定当前sheet中的每一个表头;根据确定出的每一个表头的表头类别,构建每一类表头所对应的文件夹;针对确定出的每一个表头均执行:判断当前表头下全部数据的总行数是否不小于预设阈值,若是,在所述当前表头的表头类别对应的文件夹下,构建所述当前表头对应的一组子文件,且对于该组子文件中的任一第一子文件,所述第一子文件中、所述当前表头下全部数据的总行数不大于所述预设阈值,所述第一子文件中的任一行数据不存在于任一同组的其他子文件中,否则,在所述当前表头的表头类别对应的文件夹下,构建所述当前表头对应的子文件。
7.根据权利要求6所述的将excel文件数据导入数据库的装置,其特征在于,
所述处理单元,还用于根据公式一,确定所述当前表头对应的一组子文件中子文件的个数;
所述公式一包括:N=X/x
其中,N为所述当前表头对应的一组子文件中子文件的个数,且取值方式为向上取整,X为所述当前表头下全部数据的总行数,x为所述预设阈值。
8.根据权利要求6或7所述的将excel文件数据导入数据库的装置,其特征在于,
所述导入单元,用于采用不同组子文件间多线程导入、同一组子文件间单线程导入的方式,将拆分得到的每一组子文件中的数据分别导入到对应数据表中。
9.一种可读介质,其特征在于,包括执行指令,当存储控制器的处理器执行所述执行指令时,所述存储控制器执行如权利要求1至4中任一所述的将excel文件数据导入数据库的方法。
10.一种存储控制器,其特征在于,包括:处理器、存储器和总线;
所述存储器用于存储执行指令,所述处理器与所述存储器通过所述总线连接,当所述存储控制器运行时,所述处理器执行所述存储器存储的所述执行指令,以使所述存储控制器执行如权利要求1至4中任一所述的将excel文件数据导入数据库的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811215909.3A CN109446257A (zh) | 2018-10-18 | 2018-10-18 | 一种将excel文件数据导入数据库的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811215909.3A CN109446257A (zh) | 2018-10-18 | 2018-10-18 | 一种将excel文件数据导入数据库的方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109446257A true CN109446257A (zh) | 2019-03-08 |
Family
ID=65546801
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811215909.3A Pending CN109446257A (zh) | 2018-10-18 | 2018-10-18 | 一种将excel文件数据导入数据库的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109446257A (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110245118A (zh) * | 2019-06-27 | 2019-09-17 | 重庆市筑智建信息技术有限公司 | 一种bim资料信息三维网格化检索归档方法及其归档系统 |
CN110633462A (zh) * | 2019-09-11 | 2019-12-31 | 四川长虹电器股份有限公司 | 一种Excel二维表格导入的方法 |
CN111767331A (zh) * | 2020-06-17 | 2020-10-13 | 北京思特奇信息技术股份有限公司 | 千万量级数据在关系型数据库中的多任务可视化激活方法 |
CN112100127A (zh) * | 2020-11-12 | 2020-12-18 | 广州市玄武无线科技股份有限公司 | 一种大数据excel文件导入的系统及方法 |
CN113627892A (zh) * | 2021-08-16 | 2021-11-09 | 深圳市云采网络科技有限公司 | 一种bom数据的识别方法及其电子设备 |
CN115374128A (zh) * | 2022-10-24 | 2022-11-22 | 北京源堡科技有限公司 | Excel导入数据库的方法、装置、计算机设备及介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2014168961A1 (en) * | 2013-04-09 | 2014-10-16 | Einsights Pte. Ltd | Generating data analytics using a domain model |
CN104331468A (zh) * | 2014-10-31 | 2015-02-04 | 深圳市东信时代信息技术有限公司 | Excel验证导入系统及方法 |
CN106776843A (zh) * | 2016-11-28 | 2017-05-31 | 浪潮软件集团有限公司 | 一种基于xml解析的导入excel文件的方法 |
CN106933835A (zh) * | 2015-12-29 | 2017-07-07 | 航天信息软件技术有限公司 | 一种兼容性解析Excel文件的数据导入方法及系统 |
-
2018
- 2018-10-18 CN CN201811215909.3A patent/CN109446257A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2014168961A1 (en) * | 2013-04-09 | 2014-10-16 | Einsights Pte. Ltd | Generating data analytics using a domain model |
CN104331468A (zh) * | 2014-10-31 | 2015-02-04 | 深圳市东信时代信息技术有限公司 | Excel验证导入系统及方法 |
CN106933835A (zh) * | 2015-12-29 | 2017-07-07 | 航天信息软件技术有限公司 | 一种兼容性解析Excel文件的数据导入方法及系统 |
CN106776843A (zh) * | 2016-11-28 | 2017-05-31 | 浪潮软件集团有限公司 | 一种基于xml解析的导入excel文件的方法 |
Non-Patent Citations (1)
Title |
---|
孙雪梅: "基于C#. NET的Excel表格数据导入数据库技术研究", 《计算机应用技术》 * |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110245118A (zh) * | 2019-06-27 | 2019-09-17 | 重庆市筑智建信息技术有限公司 | 一种bim资料信息三维网格化检索归档方法及其归档系统 |
CN110245118B (zh) * | 2019-06-27 | 2021-05-14 | 重庆市筑智建信息技术有限公司 | 一种bim资料信息三维网格化检索归档方法及其归档系统 |
CN110633462A (zh) * | 2019-09-11 | 2019-12-31 | 四川长虹电器股份有限公司 | 一种Excel二维表格导入的方法 |
CN111767331A (zh) * | 2020-06-17 | 2020-10-13 | 北京思特奇信息技术股份有限公司 | 千万量级数据在关系型数据库中的多任务可视化激活方法 |
CN112100127A (zh) * | 2020-11-12 | 2020-12-18 | 广州市玄武无线科技股份有限公司 | 一种大数据excel文件导入的系统及方法 |
CN113627892A (zh) * | 2021-08-16 | 2021-11-09 | 深圳市云采网络科技有限公司 | 一种bom数据的识别方法及其电子设备 |
CN113627892B (zh) * | 2021-08-16 | 2023-09-01 | 深圳市云采网络科技有限公司 | 一种bom数据的识别方法及其电子设备 |
CN115374128A (zh) * | 2022-10-24 | 2022-11-22 | 北京源堡科技有限公司 | Excel导入数据库的方法、装置、计算机设备及介质 |
CN115374128B (zh) * | 2022-10-24 | 2023-01-17 | 北京源堡科技有限公司 | Excel导入数据库的方法、装置、计算机设备及介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109446257A (zh) | 一种将excel文件数据导入数据库的方法及装置 | |
CN103853652B (zh) | 一种测试案例生成方法及装置 | |
CN105068929B (zh) | 测试脚本生成方法和装置、测试方法、测试装置以及测试系统 | |
CN110569867A (zh) | 基于决策树算法的输电线路故障原因判别方法、介质及设备 | |
CN105389481B (zh) | 一种三代全长转录组中可变剪切体的检测方法 | |
CN106682036A (zh) | 一种数据交换系统及其交换方法 | |
CN105653554B (zh) | 一种文件数据比对方法和系统 | |
CN101236554A (zh) | 一种数据库海量数据比对的方法 | |
CN102012857B (zh) | 一种对Web页面进行自动化测试的装置及方法 | |
CN106294222A (zh) | 一种确定pcie设备与插槽对应关系的方法及装置 | |
CN109740122A (zh) | 思维导图用例文件的转换方法及装置 | |
CN108960297A (zh) | 图片的标注方法、标注装置、设备及存储介质 | |
CN105279269B (zh) | 一种支持表自由关联的sql生成方法和系统 | |
CN105760296A (zh) | 自动化测试控制方法、装置及终端 | |
CN109799948A (zh) | 一种数据存储方法及装置 | |
CN109783565A (zh) | 一种excel数据快速导入的方法和系统 | |
CN105279089A (zh) | 一种获取页面元素的方法及装置 | |
CN104424240A (zh) | 多表关联方法、主服务节点、计算节点及系统 | |
CN110347709A (zh) | 一种规则引擎的构建方法及系统 | |
CN105159925B (zh) | 一种数据库集群数据分配方法及系统 | |
CN106130929A (zh) | 基于图论算法的互联网保险领域的业务报文自动处理方法和系统 | |
CN104750743A (zh) | 一种交易文件勾对系统和方法 | |
CN102737031A (zh) | 测试数据报表整理系统及方法 | |
CN111898351A (zh) | 基于Aviator的Excel数据自动导入方法、装置、终端设备及存储介质 | |
CN105389401A (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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20190308 |