CN102841784A - 一种Excel数据动态导入数据库的方法 - Google Patents

一种Excel数据动态导入数据库的方法 Download PDF

Info

Publication number
CN102841784A
CN102841784A CN201110172356XA CN201110172356A CN102841784A CN 102841784 A CN102841784 A CN 102841784A CN 201110172356X A CN201110172356X A CN 201110172356XA CN 201110172356 A CN201110172356 A CN 201110172356A CN 102841784 A CN102841784 A CN 102841784A
Authority
CN
China
Prior art keywords
excel
tfj
database
rfi
ttable
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
Application number
CN201110172356XA
Other languages
English (en)
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.)
ZHENJIANG HUAYANG INFORMATION TECHNOLOGY CO LTD
Original Assignee
ZHENJIANG HUAYANG INFORMATION TECHNOLOGY CO LTD
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 ZHENJIANG HUAYANG INFORMATION TECHNOLOGY CO LTD filed Critical ZHENJIANG HUAYANG INFORMATION TECHNOLOGY CO LTD
Priority to CN201110172356XA priority Critical patent/CN102841784A/zh
Publication of CN102841784A publication Critical patent/CN102841784A/zh
Pending legal-status Critical Current

Links

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

Excel数据动态导入数据库的方法:采用建立字段映射的方法,实现了Excel到数据库的动态导入,解决了一般导入方案中对Excel数据约束过严的问题,最后给出了该设计方案基于Delphi语言的具体实现。该方法应用于多个信息管理系统,取得了良好的实际使用效果,可供信息管理系统设计开发人员借鉴。

Description

一种Excel数据动态导入数据库的方法
技术领域
本发明涉及一种Excel数据动态导入数据库的方法。这种方法是一种从Excel到数据库的数据动态导入设计与实现。。
背景技术
一般信息系统在将Excel数据导入数据库系统时,对Excel数据有比较严格的要求,如字段数量一致、名称一致、类型一致等。然而,人们也经常会遇到Excel数据与目标数据库表之间存在不一致的情况,这种不一致主要体现在三个方面:字段数量不一致、字段名称不一致和字段类型不一致。为了解决Excel数据与数据库表之间存在不一致时的导入问题,因此发明了一种Excel数据动态导入数据库的方法。
发明内容
针对以上的不足,本发明的目的是提出一种Excel数据动态导入数据库的方法,根据造成Excel数据与目标数据表不一致的两个主要因素,我们提出了Excel到数据库的通用导入设计。
字段动态映射和映射合法性是本通用导入设计的两大关键步骤。字段动态映射是指操作用户针对目标数据库表中的每一个字段从Excel数据清单中指定相应的导入字段;字段映射合法性主要包括字段类型转换验证和数据合法性验证,由于Excel中的数据类型与各种数据库系统的数据类型存在一些差异,需要对字段映射关系中源字段至目标字段的类型转换的有效性进行验证,另外,由于目标数据库表中往往对数据本身有一些约束(如数据长度等),因此,需要根据字段映射关系对源数据表中数据进行合性检查。
Excel数据清单信息可表示为RTable={RFi|i=1,2,3…RTable.FieldCount},RFi表示Excel数据清单中的第i段,描述为
RFi=<RFNamei,RFTypei,RFMaxLengthi>。目标数据库表信息可表示为TTable={TFj|j=1,2,3…TTable.FieldCount},TFj表示目标数据库表中的第j段,描述为TFj=<TFNamej,TFTypej,TFMaxLengthj>。字段动态映射就是要建立RTable’TTable的对应关系,即建立表示为FIELDMAP={<RFi,TFj>|RFiRTable,TFj TTable}的序偶集,即对于TFj TTable,RFj RTable,使得<RFi,TFj>FIELDMAP。这种对应关系可以是一一对应,也可以是一多对应,即Excel数据清单的某一字段可对应到目标数据库表的多个字段。字段映射建立后,需要进行字段映射合法性验证,其算法描述如下:
Figure BSA00000524333100021
函数TypeMatch用于验证RFTypei与TFTypej类型是否兼容,函数LenMatch用于验证RFMaxLengthi与TFMaxLengthj数据长度是否兼容。
完成字段映射及合法性验证后,即可进行数据导入操作。
Excel数据清单的数据表示为RTableData={RRowk|k=1,2,…RTableData.Count},RRowk
显然是关系RTable的元组。目标数据表的数据可表示为TTableData={Trowx|x=1,2,3,4…TTableData.Count},TRowx显然是关系TTable的元组。数据导入的算法描述如下:
Figure BSA00000524333100022
具体实施方式
微软的SQL SERVER是当前主流的DBMS,下面介绍将Excel数据动态导入SQL SERVER数据库的具体实现,编程语言采用Delphi7.0。CreateDataSetField过程用于创建ADODataSet对象DataSetField来保存从Excel数据清单中提取的结构信息,关键代码如下:
Figure BSA00000524333100031
然后,调用过程GetExcelTableInfo获取Excel数据清单中各字段信息。CreateDataSetFieldMap过程用于创建ADODataSet对象DataSetFieldMap来字段映射关系,关键代码如下:
Figure BSA00000524333100032
然后,调用过程GetSQLTableInfo()获取SQL数据库表中各字段信息。
操作用户指定好Excel各字段与SQL数据库表中各字段的映射关系后,即可以进行数据导入操作,关键代码如下:
Figure BSA00000524333100041

Claims (2)

1.一种Excel数据动态导入数据库的方法:Excel数据清单信息可表示为RTable={RFi|i=1,2,3…RTable.FieldCount},RFi表示Excel数据清单中的第i段,描述为RFi=<RFNamei,RFTypei,RFMaxLengthi>。目标数据库表信息可表示为TTable={TFj|j=1,2,3…TTable.FieldCount},TFj表示目标数据库表中的第j段,描述为TFj=<TFNamej,TFTypej,TFMaxLengthj>。
2.根据权利要求1所述,Excel数据动态导入数据库的方法,其特征是字段动态映射就是要建立RTable’TTable的对应关系,即建立表示为FIELDMAP={<RFi,TFj>|RFi RTable,TFj TTable}的序偶集,即对于TFj TTable,RFjRTable,使得<RFi,TFj>FIELDMAP。这种对应关系可以是一一对应,也可以是一多对应,即Excel数据清单的某一字段可对应到目标数据库表的多个字段。
CN201110172356XA 2011-06-24 2011-06-24 一种Excel数据动态导入数据库的方法 Pending CN102841784A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201110172356XA CN102841784A (zh) 2011-06-24 2011-06-24 一种Excel数据动态导入数据库的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201110172356XA CN102841784A (zh) 2011-06-24 2011-06-24 一种Excel数据动态导入数据库的方法

Publications (1)

Publication Number Publication Date
CN102841784A true CN102841784A (zh) 2012-12-26

Family

ID=47369189

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201110172356XA Pending CN102841784A (zh) 2011-06-24 2011-06-24 一种Excel数据动态导入数据库的方法

Country Status (1)

Country Link
CN (1) CN102841784A (zh)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103970736A (zh) * 2013-01-25 2014-08-06 苏州精易会信息技术有限公司 一种将Excel表格转换成数据库表的方法
CN103995908A (zh) * 2014-06-17 2014-08-20 山东中创软件工程股份有限公司 一种数据导入方法及装置
CN105224544A (zh) * 2014-05-30 2016-01-06 北大方正集团有限公司 一种数据库的数据编辑方法及装置
CN106372082A (zh) * 2015-07-22 2017-02-01 克拉玛依红有软件有限责任公司 一种单文件多表单数据自动入库的方法和系统
CN106776843A (zh) * 2016-11-28 2017-05-31 浪潮软件集团有限公司 一种基于xml解析的导入excel文件的方法
CN107291674A (zh) * 2017-06-12 2017-10-24 广东川田卫生用品有限公司 一种将Excel表格数据转换为数据库格式的方法
CN108710667A (zh) * 2018-05-15 2018-10-26 成都宇友科技有限公司 一种基于大数据的字符类型转换方法
CN109871405A (zh) * 2018-12-13 2019-06-11 珠海迎迎科技有限公司 一种将Excel表格数据导入数据库的方法及装置
CN110019226A (zh) * 2017-12-22 2019-07-16 杭州海康威视数字技术股份有限公司 一种数据库文件的导入方法及装置

Citations (2)

* Cited by examiner, † Cited by third party
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
CN101042751A (zh) * 2007-01-18 2007-09-26 北京佳讯飞鸿电气有限责任公司 一种灵活、可扩展动态统计的实现方法及系统

Patent Citations (2)

* Cited by examiner, † Cited by third party
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
CN101042751A (zh) * 2007-01-18 2007-09-26 北京佳讯飞鸿电气有限责任公司 一种灵活、可扩展动态统计的实现方法及系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
刘日仙等: "Excel数据动态导入数据库的设计与实现", 《福建电脑》, no. 10, 31 October 2009 (2009-10-31) *

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103970736A (zh) * 2013-01-25 2014-08-06 苏州精易会信息技术有限公司 一种将Excel表格转换成数据库表的方法
CN105224544A (zh) * 2014-05-30 2016-01-06 北大方正集团有限公司 一种数据库的数据编辑方法及装置
CN103995908A (zh) * 2014-06-17 2014-08-20 山东中创软件工程股份有限公司 一种数据导入方法及装置
CN106372082A (zh) * 2015-07-22 2017-02-01 克拉玛依红有软件有限责任公司 一种单文件多表单数据自动入库的方法和系统
CN106776843A (zh) * 2016-11-28 2017-05-31 浪潮软件集团有限公司 一种基于xml解析的导入excel文件的方法
CN107291674A (zh) * 2017-06-12 2017-10-24 广东川田卫生用品有限公司 一种将Excel表格数据转换为数据库格式的方法
CN110019226A (zh) * 2017-12-22 2019-07-16 杭州海康威视数字技术股份有限公司 一种数据库文件的导入方法及装置
CN108710667A (zh) * 2018-05-15 2018-10-26 成都宇友科技有限公司 一种基于大数据的字符类型转换方法
CN109871405A (zh) * 2018-12-13 2019-06-11 珠海迎迎科技有限公司 一种将Excel表格数据导入数据库的方法及装置
CN109871405B (zh) * 2018-12-13 2023-01-24 珠海迎迎科技有限公司 一种将Excel表格数据导入数据库的方法及装置

Similar Documents

Publication Publication Date Title
CN102841784A (zh) 一种Excel数据动态导入数据库的方法
CN103699638B (zh) 一种基于配置参数实现跨数据库类型同步数据的方法
CN104899295B (zh) 一种异构数据源数据关联分析方法
CN102855271B (zh) 一种多版本电网模型的存储与可追溯管理方法
US9483386B2 (en) Information interaction test device and method based on automatic generation of associated test cases
CN109033757B (zh) 一种数据共享方法及系统
CN102073540A (zh) 分布式事务提交方法和装置
ATE467970T1 (de) Eingabe- und ausgabe-validierung zum schutze von datenbank-servern
WO2009009754A3 (en) Semantic transactions in online applications
CN104462604A (zh) 数据加工方法及系统
WO2012030853A3 (en) User list identification
WO2012030848A3 (en) User list generation and identification
CN106446144A (zh) 一种基于kettle的大数据平台数据抽取和统计方法
CN104601554A (zh) 一种数据交换方法及数据交换装置
CN104123376B (zh) 一种基于列模板的智能文本数据采集方法和系统
CN101645073A (zh) 一种将已有数据库文件导入嵌入式数据库的方法
CN103761265A (zh) 一种基于NoSQL的医疗信息系统数据库实现方法
WO2010048046A3 (en) Modeling party identities in computer storage systems
CN102819537B (zh) 异构系统中进行数据交换的方法及系统
CN103034647A (zh) 一种基于多线程技术的excel数据导入
CN105487912A (zh) 公共问题修改多分支维护系统及方法
CN105653680A (zh) 一种基于文档型数据库的存储数据的方法及系统
CN104933119A (zh) 一种大数据管理方法
CN104317630B (zh) 一种快速查询服务器产品支持软硬件配置的方法
CN104778253B (zh) 一种提供数据的方法和装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20121226