CN102841784A - 一种Excel数据动态导入数据库的方法 - Google Patents
一种Excel数据动态导入数据库的方法 Download PDFInfo
- 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
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数据清单信息可表示为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数据清单的某一字段可对应到目标数据库表的多个字段。字段映射建立后,需要进行字段映射合法性验证,其算法描述如下:
函数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的元组。数据导入的算法描述如下:
具体实施方式
微软的SQL SERVER是当前主流的DBMS,下面介绍将Excel数据动态导入SQL SERVER数据库的具体实现,编程语言采用Delphi7.0。CreateDataSetField过程用于创建ADODataSet对象DataSetField来保存从Excel数据清单中提取的结构信息,关键代码如下:
然后,调用过程GetExcelTableInfo获取Excel数据清单中各字段信息。CreateDataSetFieldMap过程用于创建ADODataSet对象DataSetFieldMap来字段映射关系,关键代码如下:
然后,调用过程GetSQLTableInfo()获取SQL数据库表中各字段信息。
操作用户指定好Excel各字段与SQL数据库表中各字段的映射关系后,即可以进行数据导入操作,关键代码如下:
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数据清单的某一字段可对应到目标数据库表的多个字段。
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)
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)
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 | 北京佳讯飞鸿电气有限责任公司 | 一种灵活、可扩展动态统计的实现方法及系统 |
-
2011
- 2011-06-24 CN CN201110172356XA patent/CN102841784A/zh active Pending
Patent Citations (2)
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)
Title |
---|
刘日仙等: "Excel数据动态导入数据库的设计与实现", 《福建电脑》, no. 10, 31 October 2009 (2009-10-31) * |
Cited By (10)
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 |