CN102945160A - 一种不依赖于规则配置的导入excel数据的通用方法 - Google Patents

一种不依赖于规则配置的导入excel数据的通用方法 Download PDF

Info

Publication number
CN102945160A
CN102945160A CN2012104095849A CN201210409584A CN102945160A CN 102945160 A CN102945160 A CN 102945160A CN 2012104095849 A CN2012104095849 A CN 2012104095849A CN 201210409584 A CN201210409584 A CN 201210409584A CN 102945160 A CN102945160 A CN 102945160A
Authority
CN
China
Prior art keywords
data
excel
importing
row
general
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
CN2012104095849A
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.)
Inspur Group Shandong General Software Co Ltd
Original Assignee
Inspur Group Shandong General Software 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 Inspur Group Shandong General Software Co Ltd filed Critical Inspur Group Shandong General Software Co Ltd
Priority to CN2012104095849A priority Critical patent/CN102945160A/zh
Publication of CN102945160A publication Critical patent/CN102945160A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

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

Abstract

本发明公开了一种不依赖于规则配置的导入EXCEL数据的通用方法,属于计算机技术领域。该方法包括以下步骤:A.建立通用导入组件,该组件核心实现:选择需要导入的Excel文件,建立Excel和数据绑定控件的列列对应关系记录,把Excel的数据填写到数据绑定控件中,并实现数据校验;B.需要导入数据的相关功能使用步骤A建立的通用导入组件。与现有技术相比,本发明的导入EXCEL数据的通用方法不需要配置文件、不需要了解业务规则,能够自动实现Excel内容和信息系统软件的数据绑定控件的行列匹配对应,能够自动借助数据绑定控件原有的业务规则代码进行数据校验,保证导入数据的合理有效。具有通用、简单、智能、实用等特点。

Description

一种不依赖于规则配置的导入EXCEL数据的通用方法
技术领域
本发明涉及计算机技术领域,具体地说是一种不依赖于规则配置的导入EXCEL数据的通用方法。
背景技术
依赖关系数据的企业管理软件现在越来越普遍,该类信息系统软件侧重于企业业务的管理、数据分析和决策支持,但是在数据编辑易用性方面较Excel还有些差距。无论是管理软件的实施数据准备阶段还是在正常的业务运行阶段,存在不少的用户倾向于用Excel准备数据,然后再录入到管理软件中,这种重复的数据录入工作是没有意义且令人反感的,所以要求将Excel中的数据直接导入管理软件的呼声一直很高,而管理软件对数据内容是有严格的要求的,不允许接收不合法的数据,否则会引起程序崩溃,传统的作法是针对具体的功能开发专门的导入程序,需要配置导入规则文件、需要开发数据校验程序,复杂且不可重用。
发明内容
本发明的技术任务是针对上述现有技术的不足,提供一种不依赖于规则配置的导入EXCEL数据的通用方法,具体地说,是一种应用简单且通用的将Excel内容导入管理软件的实现方法。
本发明的技术任务是按以下方式实现的:一种不依赖于规则配置的导入EXCEL数据的通用方法,包括以下步骤:
A.建立通用导入组件
该组件对外提供接口函数,接口函数中包括两个参数:
a)DataControl:需要导入数据的数据绑定控件或控件标识字符串;
b)InputType:可选参数,选择数据的导入模式,覆盖或增量导入;
该组件内部实现核心功能,主要包括以下三部分内容:
第一步:选择需要导入的Excel文件;
第二步:将Excel的首行作为Excel表格的标题行,拿数据绑定控件每列的标题名称和Excel首行的每列内容进行对应匹配,建立Excel和数据绑定控件的列列对应关系记录;
第三步:按照第二步确定的Excel和数据绑定控件的列对应关系,从Excel的第二行开始逐行逐列地把Excel的数据填写到数据绑定控件中,每填写完一个单元格的内容就触发数据绑定控件本身的业务规则校验代码,实现对Excel数据的校验; 
B.需要导入数据的相关功能使用步骤A建立的通用导入组件
a)       编写导入事件,调用通用导入组件的接口函数;
b)      调用功能本身的数据更新事件,将导入内容持久化。
本发明的方法与现有技术相比具有通用、简单、智能、实用等特点,具体说,具有以下突出的有益效果:
(一)                   不依赖任何配置文件,不需要为导入程序专门编写业务规则代码,且能保证导入的数据合法有效;
(二)                   能够只根据Excel的内容和信息系统软件的数据绑定控件的内容实现两者的行列匹配对应;
(三)                   能够根据信息系统软件的控件自身实现的业务规则代码对导入的数据进行校验,保证导入数据的合理有效。
附图说明
附图1是本发明数据导入方法的流程图。
具体实施方式
以具体实施例对本发明的不依赖于规则配置的导入EXCEL数据的通用方法作以下详细地说明。
实施例:
如附图1所示,本发明的不依赖于规则配置的导入EXCEL数据的通用方法包括以下步骤:
1、开发人员软件实现通用导入组件:
A、定义接口函数
//定义接口函数
global function integer f_xls2dw (u_dw p_dw, boolean p_append)
B、实现内部逻辑
/*1、获取Excel文档*/
GetFileOpenName("请选择Excel文档",FullPathName,FileName,"",filetype)
/*2、打开Excel文档*/
Ole_xls.Application.Workbooks.Open(ls_FullPathName) 
/*3、匹配数据绑定控件DataWindow和Excel的列对应关系*/
//循环遍历数据绑定控件DataWindow的列
FOR n = 1 TO Datawindow.column.count
    ls_colname = p_dw.Describe("#" + String(n) + ".Name")
    FOR nn = 1 TO ll_xls_Ccount
      //Excel的首行是列名
      ls_temp = Trim(String(lole_xls.ActiveSheet.Cells(1,nn).Value))      
      IF ls_temp = ls_coltext THEN EXIT //通过判断标题确定列对应
    NEXT
    i ++
//数组记录每列的类型
ls_ColType[i] = p_dw.Describe("#" + String(n) + ".ColType")
//数组记录数据窗口每列对应的EXCEL列序号
  ll_Cell[i] = nn
NEXT
/*4、逐行逐列遍历Excel,给数据绑定控件Datawindow赋值*/
//数据绑定控件Datawindow和Excel都逐行循环
DO WHILE ll_row_xls <= ll_xls_Rcount
    ll_row_dw ++ 
if ll_row_dw > p_dw.rowcount() then 
       //判断导入模式,是否需要增行
if p_append then ll_row_dw = p_dw.event pfc_addrow()//p_dw.InsertRow(0)
    end if
  //数据绑定控件Datawindos逐列遍历循环赋值
    FOR i = 1 TO Datawindow.column.count
      //不可编辑不赋值,不能获取焦点就下个字段
           p_dw.setcolumn(ls_Col[i])           
      if Lower(p_dw.GetColumnName())<> Lower(ls_Col[i]) THEN continue 
      //获取该行该列的Excel的内容
           Data = Trim(String(lole_xls.ActiveSheet.Cells(ll_row_xls,ll_Cell[i]).Value))     
//将Excel内容赋值给数据绑定控件Datawindow
p_dw.SetItem(ll_row_dw,ls_Col[i], Data)                  
//调用数据绑定控件Datawindow本身的数据校验事件         p_dw.event.itemchanged(ll_row_dw,p_dw.object.__get_attribute(ls_Col[i],false),data)   
    NEXT
    ll_row_xls ++
LOOP
/*5、关闭Excel并退出*/
Ole_xls.Application.quit()
Ole_xls.DisconnectObject()
DESTROY Ole_xls
RETURN 1 
2、相关功能调用导入组件
   A、调用接口函数
//单据编辑状态下调用Excel导入组件
If f_xls2dw(dw_detail,true)=-1 then return
    B、调用自身更新事件,将数据持久化   
//单据编辑状态下调用Excel导入组件
dw_detail.update()

Claims (1)

1.一种不依赖于规则配置的导入EXCEL数据的通用方法,其特征在于:包括以下步骤:
1)建立通用导入组件
该组件对外提供接口函数,接口函数中包括两个参数:
(1)DataControl:需要导入数据的数据绑定控件或控件标识字符串;
(2)InputType:可选参数,选择数据的导入模式,覆盖或增量导入;
该组件内部实现核心功能,主要包括以下三部分内容:
第一步:选择需要导入的Excel文件;
第二步:将Excel的首行作为Excel表格的标题行,拿数据绑定控件每列的标题名称和Excel首行的每列内容进行对应匹配,建立Excel和数据绑定控件的列列对应关系记录;
第三步:按照第二步确定的Excel和数据绑定控件的列对应关系,从Excel的第二行开始逐行逐列地把Excel的数据填写到数据绑定控件中,每填写完一个单元格的内容就触发数据绑定控件本身的业务规则校验代码,实现对Excel数据的校验; 
2)需要导入数据的相关功能使用步骤1建立的通用导入组件
编写导入事件,调用通用导入组件的接口函数;
调用功能本身的数据更新事件,将导入内容持久化。
CN2012104095849A 2012-10-24 2012-10-24 一种不依赖于规则配置的导入excel数据的通用方法 Pending CN102945160A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2012104095849A CN102945160A (zh) 2012-10-24 2012-10-24 一种不依赖于规则配置的导入excel数据的通用方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2012104095849A CN102945160A (zh) 2012-10-24 2012-10-24 一种不依赖于规则配置的导入excel数据的通用方法

Publications (1)

Publication Number Publication Date
CN102945160A true CN102945160A (zh) 2013-02-27

Family

ID=47728109

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2012104095849A Pending CN102945160A (zh) 2012-10-24 2012-10-24 一种不依赖于规则配置的导入excel数据的通用方法

Country Status (1)

Country Link
CN (1) CN102945160A (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103631966A (zh) * 2013-12-18 2014-03-12 用友软件股份有限公司 一种可配置的解析多值匹配字段的方法
CN107798128A (zh) * 2017-11-14 2018-03-13 泰康保险集团股份有限公司 数据导入方法、装置、介质及电子设备
CN108153550A (zh) * 2017-06-16 2018-06-12 广东网金数据服务有限公司 一种Excel数据导入方法、装置及用户终端

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101976236A (zh) * 2010-09-26 2011-02-16 用友软件股份有限公司 通过工作表导入浮动行数据的方法和装置
CN102299965A (zh) * 2011-08-31 2011-12-28 深圳市五巨科技有限公司 一种excel数据导入的方法和装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101976236A (zh) * 2010-09-26 2011-02-16 用友软件股份有限公司 通过工作表导入浮动行数据的方法和装置
CN102299965A (zh) * 2011-08-31 2011-12-28 深圳市五巨科技有限公司 一种excel数据导入的方法和装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
邓永海等: "ASP.NET中将EXCEL 导入数据库的通用模块设计与实现", 《微计算机信息》, vol. 27, no. 2, 21 June 2011 (2011-06-21) *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103631966A (zh) * 2013-12-18 2014-03-12 用友软件股份有限公司 一种可配置的解析多值匹配字段的方法
CN108153550A (zh) * 2017-06-16 2018-06-12 广东网金数据服务有限公司 一种Excel数据导入方法、装置及用户终端
CN107798128A (zh) * 2017-11-14 2018-03-13 泰康保险集团股份有限公司 数据导入方法、装置、介质及电子设备

Similar Documents

Publication Publication Date Title
Grigor Building Iran: Modernism, architecture, and national heritage under the Pahlavi Monarchs
CN103970737B (zh) 一种数据构造方法和装置
CN103294652B (zh) 一种数据转换方法及系统
CN104123227A (zh) 一种自动生成测试用例的方法
AU2015331025A1 (en) Emulating manual system of filing using electronic document and electronic file
CN103853806A (zh) 一种表格转换方法及装置
CN102012954A (zh) 用于系统芯片集成设计的子系统集成方法及其子系统集成系统
CN105095466A (zh) 一种web文本信息抽取方法
CN102737022A (zh) 获取和搜索相关知识信息的方法及装置
CN102945160A (zh) 一种不依赖于规则配置的导入excel数据的通用方法
CN103345501A (zh) 数据库更新方法和装置
CN103377225A (zh) 知识库系统的构建方法和设备
CN107729561A (zh) 基于数据库表结构反向生成对数据库表操作的方法
CN105653669B (zh) 超文本标记语言生成方法及装置
CN104156430A (zh) 一种快速提取安卓手机数据的装置和方法
CN106067889B (zh) 电子装置及其上传方法
CN103927212B (zh) 自动分析源文件信息的方法及装置
CN110531971A (zh) 访问代码自动生成方法、装置、计算机设备及存储介质
CN102624894A (zh) 一种报文组装与解析的方法和系统
CN110321282A (zh) Mock测试的XML配置文件修改方法和系统
CN102486731B (zh) 增强软件的软件调用栈的可视化的方法、设备和系统
CN101295245A (zh) 一种基于模型信息的智能提取方法
CN103617210B (zh) 一种多目标数据服务层的动态路由系统及其工作方法
CN106802909A (zh) 一种便捷的企业网站组建方法
CN104598628A (zh) 基于sax的智能变电站scd解析方法

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: 20130227