CN108153550A - 一种Excel数据导入方法、装置及用户终端 - Google Patents

一种Excel数据导入方法、装置及用户终端 Download PDF

Info

Publication number
CN108153550A
CN108153550A CN201710456258.6A CN201710456258A CN108153550A CN 108153550 A CN108153550 A CN 108153550A CN 201710456258 A CN201710456258 A CN 201710456258A CN 108153550 A CN108153550 A CN 108153550A
Authority
CN
China
Prior art keywords
content
verification
cell
data
mark
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
CN201710456258.6A
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.)
Guangdong Net Gold Marketing Data Services Ltd
Original Assignee
Guangdong Net Gold Marketing Data Services 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 Guangdong Net Gold Marketing Data Services Ltd filed Critical Guangdong Net Gold Marketing Data Services Ltd
Priority to CN201710456258.6A priority Critical patent/CN108153550A/zh
Publication of CN108153550A publication Critical patent/CN108153550A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3604Software analysis for verifying properties of programs
    • G06F11/3616Software analysis for verifying properties of programs using software metrics
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2282Tablespace storage structures; Management thereof
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2457Query processing with adaptation to user needs
    • G06F16/24573Query processing with adaptation to user needs using data annotations, e.g. user-defined metadata
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/25Integrating or interfacing systems involving database management systems
    • G06F16/254Extract, transform and load [ETL] procedures, e.g. ETL data flows in data warehouses
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44505Configuring for program initiating, e.g. using registry, configuration files
    • G06F9/4451User profiles; Roaming

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Security & Cryptography (AREA)
  • Library & Information Science (AREA)
  • Computational Linguistics (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Storage Device Security (AREA)

Abstract

本发明涉及一种Excel数据导入方法、装置及用户终端。该方法包括:读取Excel数据,并将所述Excel数据转换为内存数据集;加载预设的配置文件和用户自定义的检查文件;所述规则,对内存数据集中的每一内容单元格的内容进行合法性验证。本发明将Excel数据抽象成软件世界中的对象,并将常见的验证项进行配置文件配置化,并提供中间件供开发人员使用,开发人员只需要专注个性化的验证即可,提高开发效率和开发质量。

Description

一种Excel数据导入方法、装置及用户终端
技术领域
本发明涉及计算机程序,具体涉及Excel数据导入技术。
背景技术
在项目开发过程中,经常会有数据导入的功能需求,开发人员总是要重复编写ETL代码,即:抽取数据、转换数据、加载数据。特别是在抽取数据时,总是要重复编写数据有效性、重复性以及业务个性化等需求的验证,重复劳动较多,且容易出现遗漏、错误。
发明内容
为了克服现有技术的不足,本发明的目的之一在于提供一种Excel数据导入方法,其能解决重复劳动多,导致工作效率低的问题。
本发明的目的之二在于提供一种Excel数据导入装置,其能解决重复劳动多,导致工作效率低的问题。
本发明的目的之三在于提供一种一种用户终端,其能解决重复劳动多,导致工作效率低的问题。
为了实现上述目的之一,本发明所采用的技术方案如下:
一种Excel数据导入方法,其包括以下步骤:
读取Excel数据,并将所述Excel数据转换为内存数据集;
加载预设的配置文件和用户自定义的检查文件,配置文件和检查文件均包括与内存数据集的列标题对应关联的检查项字符串,以及用于对所述内存数据集中的内容单元格的内容进行合法性验证的规则,每一规则与对应的检查项字符串对应关联;
根据所述规则,对内存数据集中的每一内容单元格的内容进行合法性验证,若内存数据集中对应行的所有内容单元格的内容全部通过合法性验证,则在所述对应行中增加一用于显示验证通过标识的标识单元格,否则,在所述对应行中增加一用于显示验证不通过标识的标识单元格以及一用于显示对应行的至少一个内容单元格的内容不通过合法性验证的错误信息的信息单元格。
优选的,在结束合法性验证后,将内存数据集转换为list集合。
优选的,配置文件的规则包括非空验证、重复性验证和长度验证。
优选的,所述Excel数据根据指定本地路径读取或根据指定网络路径读取。
为了实现上述目的之二,本发明所采用的技术方案如下:
一种Excel数据导入装置,其包括以下模块:
读取模块,用于读取Excel数据,并将所述Excel数据转换为内存数据集;
加载模块,用于加载预设的配置文件和用户自定义的检查文件,配置文件和检查文件均包括与内存数据集的列标题对应关联的检查项字符串,以及用于对所述内存数据集中的内容单元格的内容进行合法性验证的规则,每一规则与对应的检查项字符串对应关联;
标识模块,用于根据所述规则,对内存数据集中的每一内容单元格的内容进行合法性验证,若内存数据集中对应行的所有内容单元格的内容全部通过合法性验证,则在所述对应行中增加一用于显示验证通过标识的标识单元格,否则,在所述对应行中增加一用于显示验证不通过标识的标识单元格以及一用于显示对应行的至少一个内容单元格的内容不通过合法性验证的错误信息的信息单元格。
优选的,还包括转换模块,用于在结束合法性验证后,将内存数据集转换为list集合。
为了实现上述目的之三,本发明所采用的技术方案如下:
一种用户终端,其包括存储器和处理器,
所述存储器,用于存储程序指令;
所述处理器,用于运行所述程序指令,以执行以下步骤:
读取Excel数据,并将所述Excel数据转换为内存数据集;
加载预设的配置文件和用户自定义的检查文件,配置文件和检查文件均包括与内存数据集的列标题对应关联的检查项字符串,以及用于对所述内存数据集中的内容单元格的内容进行合法性验证的规则,每一规则与对应的检查项字符串对应关联;
根据所述规则,对内存数据集中的每一内容单元格的内容进行合法性验证,若内存数据集中对应行的所有内容单元格的内容全部通过合法性验证,则在所述对应行中增加一用于显示验证通过标识的标识单元格,否则,在所述对应行中增加一用于显示验证不通过标识的标识单元格以及一用于显示对应行的至少一个内容单元格的内容不通过合法性验证的错误信息的信息单元格。
优选的,在结束合法性验证后,将内存数据集转换为list集合。
优选的,配置文件的规则包括非空验证、重复性验证和长度验证。
优选的,所述Excel数据根据指定本地路径读取或根据指定网络路径读取。
相比现有技术,本发明的有益效果在于:
将Excel数据抽象成软件世界中的对象,并将常见的验证项进行配置文件配置化,并提供中间件供开发人员使用,开发人员只需要专注个性化的验证即可,提高开发效率和开发质量。
附图说明
图1为本发明实施例一的Excel数据导入方法的流程图;
图2为本发明实施例二的Excel数据导入装置的结构示意图;
图3为本发明实施例三的用户终端的结构示意图。
具体实施方式
下面,结合附图以及具体实施方式,对本发明做进一步描述:
实施例一
如图1所示,一种Excel数据导入方法,其包括以下步骤:
步骤S1、读取Excel数据,并将所述Excel数据转换为内存数据集。内存数据集即把Excel数据存储在内存中。
与现有技术相同,Excel数据中的表由行单元格和列单元格组成。所述Excel数据根据指定本地路径读取或根据指定网络路径读取。
步骤S2、加载预设的配置文件和用户自定义的检查文件,配置文件和检查文件均包括与内存数据集的列标题对应关联的检查项字符串,以及用于对所述内存数据集中的内容单元格的内容进行合法性验证的规则,每一规则与对应的检查项字符串对应关联。
配置文件的规则是常用规则,是预先设置好的,例如,包括非空验证、重复性验证和长度验证。
例如,配置文件的代码示例如下:
其中,ColumnText="订单号"、ColumnText="订单金额"、ColumnText="支付时间"等,对应的是Excel数据的列标题,ColumnName="OrderNo"、ColumnName="OrderAmount"、ColumnName="PayTime"等,对应的是列标题的检查项字符串。
而检查文件的规则是用户自定义的,例如,开发人员根据不同项目的Excel数据的要求,自定义一些验证规则,例如,对项目类型和项目编号进行联合验证等。
步骤S3、根据所述规则,对内存数据集中的每一内容单元格的内容进行合法性验证,若内存数据集中对应行的所有内容单元格的内容全部通过合法性验证,则在所述对应行中增加一用于显示验证通过标识的标识单元格,否则,在所述对应行中增加一用于显示验证不通过标识的标识单元格以及一用于显示对应行的至少一个内容单元格的内容不通过合法性验证的错误信息的信息单元格。也就是说,在内存数据集中增加两列,一列用于显示是否通过验证,另一列用于显示对应行的错误信息,便于开发人员查找验证不通过的行以及对应行的内容单元格验证不通过的原因。
步骤S4、在结束合法性验证后,将内存数据集转换为list集合,从而方便开发人员操作使用,例如入库等。
将内存数据集转换成list集合是将内存数据集转换成c#中的list对象,便于操作。若不转换成list集合,内存数据集的数据获取编写为:dr[“orderno”].ToString(),其中用到字符串”orderno”,因此采用的是字符串的表述,编译器无法检测其正确性,也没有代码提示,而转换为list对象后,则可以直接使用dr.OrderNo的语言去获取数据,编译器可以检测出OrderNo是否有写错。
实施例二
本实施例提出了一种实现实施例一的方法的虚拟装置,具体是一种Excel数据导入装置,其包括以下模块:
读取模块,用于读取Excel数据,并将所述Excel数据转换为内存数据集;
加载模块,用于加载预设的配置文件和用户自定义的检查文件,配置文件和检查文件均包括与内存数据集的列标题对应关联的检查项字符串,以及用于对所述内存数据集中的内容单元格的内容进行合法性验证的规则,每一规则与对应的检查项字符串对应关联;
标识模块,用于根据所述规则,对内存数据集中的每一内容单元格的内容进行合法性验证,若内存数据集中对应行的所有内容单元格的内容全部通过合法性验证,则在所述对应行中增加一用于显示验证通过标识的标识单元格,否则,在所述对应行中增加一用于显示验证不通过标识的标识单元格以及一用于显示对应行的至少一个内容单元格的内容不通过合法性验证的错误信息的信息单元格;
转换模块,用于在结束合法性验证后,将内存数据集转换为list集合。
实施例三
本实施例提出了一种实现实施例一的方法的实体装置,具体是一种用户终端,其包括存储器和处理器,所述存储器,用于存储程序指令;所述处理器,用于运行所述程序指令,以执行如实施例一所述的Excel数据导入方法的步骤。
通过上述实施例的方案,开发人员可以将Excel数据基础格式的验证实现配置化,然后根据需求增加附加的验证,再通过自定义的检查文件进行附加,从而对数据检查、导入、开发效率得到大大提升。
对本领域的技术人员来说,可根据以上描述的技术方案以及构思,做出其它各种相应的改变以及形变,而所有的这些改变以及形变都应该属于本发明权利要求的保护范围之内。

Claims (10)

1.一种Excel数据导入方法,其特征在于,包括以下步骤:
读取Excel数据,并将所述Excel数据转换为内存数据集;
加载预设的配置文件和用户自定义的检查文件,配置文件和检查文件均包括与内存数据集的列标题对应关联的检查项字符串,以及用于对所述内存数据集中的内容单元格的内容进行合法性验证的规则,每一规则与对应的检查项字符串对应关联;
根据所述规则,对内存数据集中的每一内容单元格的内容进行合法性验证,若内存数据集中对应行的所有内容单元格的内容全部通过合法性验证,则在所述对应行中增加一用于显示验证通过标识的标识单元格,否则,在所述对应行中增加一用于显示验证不通过标识的标识单元格以及一用于显示对应行的至少一个内容单元格的内容不通过合法性验证的错误信息的信息单元格。
2.如权利要求1所述的Excel数据导入方法,其特征在于,在结束合法性验证后,将内存数据集转换为list集合。
3.如权利要求1所述的Excel数据导入方法,其特征在于,配置文件的规则包括非空验证、重复性验证和长度验证。
4.如权利要求1所述的Excel数据导入方法,其特征在于,所述Excel数据根据指定本地路径读取或根据指定网络路径读取。
5.一种Excel数据导入装置,其特征在于,包括以下模块:
读取模块,用于读取Excel数据,并将所述Excel数据转换为内存数据集;
加载模块,用于加载预设的配置文件和用户自定义的检查文件,配置文件和检查文件均包括与内存数据集的列标题对应关联的检查项字符串,以及用于对所述内存数据集中的内容单元格的内容进行合法性验证的规则,每一规则与对应的检查项字符串对应关联;
标识模块,用于根据所述规则,对内存数据集中的每一内容单元格的内容进行合法性验证,若内存数据集中对应行的所有内容单元格的内容全部通过合法性验证,则在所述对应行中增加一用于显示验证通过标识的标识单元格,否则,在所述对应行中增加一用于显示验证不通过标识的标识单元格以及一用于显示对应行的至少一个内容单元格的内容不通过合法性验证的错误信息的信息单元格。
6.如权利要求5所述的Excel数据导入装置,其特征在于,还包括:转换模块,用于在结束合法性验证后,将内存数据集转换为list集合。
7.一种用户终端,其特征在于,包括存储器和处理器,
所述存储器,用于存储程序指令;
所述处理器,用于运行所述程序指令,以执行以下步骤:
读取Excel数据,并将所述Excel数据转换为内存数据集;
加载预设的配置文件和用户自定义的检查文件,配置文件和检查文件均包括与内存数据集的列标题对应关联的检查项字符串,以及用于对所述内存数据集中的内容单元格的内容进行合法性验证的规则,每一规则与对应的检查项字符串对应关联;
根据所述规则,对内存数据集中的每一内容单元格的内容进行合法性验证,若内存数据集中对应行的所有内容单元格的内容全部通过合法性验证,则在所述对应行中增加一用于显示验证通过标识的标识单元格,否则,在所述对应行中增加一用于显示验证不通过标识的标识单元格以及一用于显示对应行的至少一个内容单元格的内容不通过合法性验证的错误信息的信息单元格。
8.如权利要求7所述的用户终端,其特征在于,在结束合法性验证后,将内存数据集转换为list集合。
9.如权利要求7所述的用户终端,其特征在于,配置文件的规则包括非空验证、重复性验证和长度验证。
10.如权利要求7所述的用户终端,其特征在于,所述Excel数据根据指定本地路径读取或根据指定网络路径读取。
CN201710456258.6A 2017-06-16 2017-06-16 一种Excel数据导入方法、装置及用户终端 Pending CN108153550A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710456258.6A CN108153550A (zh) 2017-06-16 2017-06-16 一种Excel数据导入方法、装置及用户终端

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710456258.6A CN108153550A (zh) 2017-06-16 2017-06-16 一种Excel数据导入方法、装置及用户终端

Publications (1)

Publication Number Publication Date
CN108153550A true CN108153550A (zh) 2018-06-12

Family

ID=62468117

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710456258.6A Pending CN108153550A (zh) 2017-06-16 2017-06-16 一种Excel数据导入方法、装置及用户终端

Country Status (1)

Country Link
CN (1) CN108153550A (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109299017A (zh) * 2018-11-16 2019-02-01 郑州云海信息技术有限公司 基于测试用例文档自动生成测试脚本框架的方法及系统
CN109902085A (zh) * 2019-01-11 2019-06-18 珠海金山网络游戏科技有限公司 一种配置存储结构优化方法及系统
CN112579589A (zh) * 2019-09-27 2021-03-30 钉钉控股(开曼)有限公司 信息导入方法及装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102945160A (zh) * 2012-10-24 2013-02-27 浪潮集团山东通用软件有限公司 一种不依赖于规则配置的导入excel数据的通用方法
US20140095623A1 (en) * 2012-09-28 2014-04-03 Rex Wiig System and method of a requirement, conpliance and resource management methodology
CN103744982A (zh) * 2014-01-15 2014-04-23 北京神州普惠科技股份有限公司 一种将Excel数据导入数据库的方法
CN106776962A (zh) * 2016-12-05 2017-05-31 济南浪潮高新科技投资发展有限公司 一种通用的Excel数据导入多个数据库物理表方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140095623A1 (en) * 2012-09-28 2014-04-03 Rex Wiig System and method of a requirement, conpliance and resource management methodology
CN102945160A (zh) * 2012-10-24 2013-02-27 浪潮集团山东通用软件有限公司 一种不依赖于规则配置的导入excel数据的通用方法
CN103744982A (zh) * 2014-01-15 2014-04-23 北京神州普惠科技股份有限公司 一种将Excel数据导入数据库的方法
CN106776962A (zh) * 2016-12-05 2017-05-31 济南浪潮高新科技投资发展有限公司 一种通用的Excel数据导入多个数据库物理表方法

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109299017A (zh) * 2018-11-16 2019-02-01 郑州云海信息技术有限公司 基于测试用例文档自动生成测试脚本框架的方法及系统
CN109902085A (zh) * 2019-01-11 2019-06-18 珠海金山网络游戏科技有限公司 一种配置存储结构优化方法及系统
CN109902085B (zh) * 2019-01-11 2023-09-08 珠海金山数字网络科技有限公司 一种配置存储结构优化方法及系统
CN112579589A (zh) * 2019-09-27 2021-03-30 钉钉控股(开曼)有限公司 信息导入方法及装置
WO2021057695A1 (zh) * 2019-09-27 2021-04-01 钉钉控股(开曼)有限公司 信息导入方法及装置
CN112579589B (zh) * 2019-09-27 2024-02-27 钉钉控股(开曼)有限公司 信息导入方法及装置

Similar Documents

Publication Publication Date Title
CN107577483B (zh) 组件工程调用主工程代码的方法、存储介质、设备及系统
CN101126793B (zh) 智能卡测试系统及方法
CN107291480A (zh) 一种函数调用方法及装置
CN107193733A (zh) 模拟Monkey测试的方法、装置和系统
CN106649212A (zh) 一种业务数据处理的方法及装置
CN108153550A (zh) 一种Excel数据导入方法、装置及用户终端
CN107870979A (zh) 电子装置、提取数据表的数据的方法及存储介质
US9170919B2 (en) Apparatus and method for detecting location of source code error in mixed-mode program
CN109669887A (zh) 高带宽存储器、高带宽存储器系统及其命令处理方法
CN109033772A (zh) 一种验证信息的输入方法及装置
CN102902906A (zh) 微处理器指令集验证方法
CN105224309B (zh) 一种调取函数的方法和装置
CN108241720B (zh) 数据处理方法、装置和计算机可读存储介质
CN109918226A (zh) 一种静默错误检测方法、装置及存储介质
CN108427636A (zh) 应用的测试方法、系统和电子设备
CN113312108A (zh) Swift报文的校验方法、装置、电子设备及存储介质
CN103049377A (zh) 基于路径簇规约的并行符号执行方法
CN113362157A (zh) 异常节点识别方法、模型的训练方法、装置及存储介质
CN105824647A (zh) 一种表单页面生成方法和装置
CN108230130A (zh) 日切数据验证的方法、装置和电子设备
CN108628734A (zh) 一种功能程序调试方法和终端
CN110008446A (zh) 一种基于编程语言对表格文件进行转化的方法和电子设备
CN104063329B (zh) 64位立即数处理方法及装置
CN114564396A (zh) 基于数据路径约束求解的随机指令测试程序生成方法
CN109902001A (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: 20180612