CN107168695B - 一种excel数据解析方法及系统 - Google Patents

一种excel数据解析方法及系统 Download PDF

Info

Publication number
CN107168695B
CN107168695B CN201710253333.9A CN201710253333A CN107168695B CN 107168695 B CN107168695 B CN 107168695B CN 201710253333 A CN201710253333 A CN 201710253333A CN 107168695 B CN107168695 B CN 107168695B
Authority
CN
China
Prior art keywords
data
excel
java
file
workbook
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.)
Active
Application number
CN201710253333.9A
Other languages
English (en)
Other versions
CN107168695A (zh
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.)
Beijing Si Tech Information Technology Co Ltd
Original Assignee
Beijing Si Tech 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 Beijing Si Tech Information Technology Co Ltd filed Critical Beijing Si Tech Information Technology Co Ltd
Priority to CN201710253333.9A priority Critical patent/CN107168695B/zh
Publication of CN107168695A publication Critical patent/CN107168695A/zh
Application granted granted Critical
Publication of CN107168695B publication Critical patent/CN107168695B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • G06F8/42Syntactic analysis
    • G06F8/427Parsing
    • 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/258Data format conversion from or to a database
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • Artificial Intelligence (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Security & Cryptography (AREA)
  • Data Mining & Analysis (AREA)
  • Stored Programmes (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明涉及一种excel数据解析方法及系统,该方法包括:将excel文件转换成工作簿实例workbook;读取所述excel文件的配置文件并保存,所述配置文件包含所述excel文件的配置信息;根据所述配置信息将工作簿实例workbook解析成java数据,并将所述java数据封装到javabean集合中;将所述javabean集合保存至database数据库。本发明为各个行业领域提供Excel文档解析服务,降低开发成本,提高开发效率。开发人员只需要编写简单的xml配置文件即可实现Excel文档的解析,将数据保存至软件系统中。

Description

一种excel数据解析方法及系统
技术领域
本发明涉及数据处理领域,具体涉及一种excel数据解析方法及系统。
背景技术
随着软件技术的发展,各个行业对软件的需求直线增长,软件后台需要处理大量数据,Excel是一款功能强大的数据处理软件,但由于excel文件不能直接被其他软件系统操作,因此无法将Excel文件中的数据录入到软件系统中。
发明内容
本发明的目的在于为各个行业领域提供Excel文档解析服务,降低开发成本,提高开发效率。开发人员只需要编写简单的xml配置文件即可实现Excel文档的解析,将数据保存至软件系统中。
本发明解决上述技术问题的技术方案如下:一种excel数据解析方法,包括以下步骤:
步骤1、将excel文件转换成工作簿实例workbook;
步骤2、读取所述excel文件的配置文件并保存,所述配置文件包含所述excel文件的配置信息;
步骤3、根据所述配置信息将所述工作簿实例workbook解析成java数据,并将所述java数据封装到javabean集合中;
步骤4、将所述javabean集合保存至database数据库。
本发明的有益效果是:将excel文件转换成可操作的workbook实例,其中包含了excel中填写的数据,进一步,预先在配置文件中对数据格式进行配置,读取其中的配置信息后,即可根据配置信息对workbook中的数据进行解析,最后封装在javabean中,便于写入数据库等存储设备中,这样开发人员只需要编写简单的xml等配置文件即可实现excel文档的解析,并在软件系统中进行操作使用解析后的数据,从而降低开发成本,提高开发效率。
在上述技术方案的基础上,本发明还可以做如下改进。
进一步,在所述步骤1中,使用POI组件将excel文件转换成工作簿实例workbook。
采用上述进一步方案的有益效果是,POI组件能够自动匹配不同的excel文件格式,从而满足不同的业务需求。
进一步,所述步骤3具体包括:
步骤3.1、以配置文件中定义的sheet页和开始行号为起始位置,依次读取行数据;
步骤3.2、根据配置文件中定义的单元格属性对所述行数据进行处理,获得解析后的java数据;
步骤3.3、调用set赋值方法将所述java数据封装到指定的javabean集合中。
采用上述进一步方案的有益效果是,首先通过sheet页和开始行号对需要解析的数据进行定位,然后依次按照单元格属性对数据进行解析,最后将解析后的数据进行封装
进一步,所述单元格属性包括:单元格类型、对应的bean节点的属性名和校验规则。
进一步,所述校验规则包括非空数据校验和/或正则校验。
为实现上述发明目的,本发明还提供一种excel数据解析系统,包括数据转换单元、配置读取单元、数据解析单元和数据保存单元;
数据转换单元,用于将excel文件转换成工作簿实例workbook;
配置读取单元,用于读取所述excel文件的配置文件并保存,所述配置文件包含所述excel文件的配置信息;
数据解析单元,用于根据所述配置信息将所述工作簿实例workbook解析成java数据,并将所述java数据封装到javabean集合中;
数据保存单元,用于将所述javabean集合保存至database数据库。
本发明的有益效果是:为各个行业领域提供Excel文档解析服务,降低开发成本,提高开发效率。开发人员只需要编写简单的xml配置文件即可实现Excel文档的解析,将数据保存至软件系统中。
在上述技术方案的基础上,本发明还可以做如下改进。
进一步,数据转换单元使用POI组件将excel文件转换成工作簿实例workbook。
进一步,所述数据解析单元包括行数据读取子单元、行数据处理子单元和封装子单元;
所述行数据读取子单元,用于以配置文件中定义的sheet页和开始行号为起始位置,依次读取行数据;
所述行数据处理子单元,用于根据配置文件中定义的单元格属性对所述行数据进行处理,获得解析后的java数据;
所述封装子单元,用于调用set赋值方法将所述java数据封装到指定的javabean集合中。
进一步,所述单元格属性包括:单元格类型、对应的bean节点的属性名和校验规则。
进一步,所述校验规则包括非空数据校验和/或正则校验。
附图说明
图1为本发明实施例提供的一种Excel数据解析方法的流程图;
图2为本发明实施例提供的一种excel数据解析方法中步骤103的流程图;
图3为本发明实施例提供的一种excel数据解析系统的结构框图;
图4为本发明实施例提供的数据解析单元的结构框图。
具体实施方式
以下结合附图对本发明的原理和特征进行描述,所举实例只用于解释本发明,并非用于限定本发明的范围。
如图1所示,本发明提供一种excel数据解析方法100,包括以下步骤:
101、将excel文件转换成工作簿实例workbook;
102、读取所述excel文件的配置文件并保存,所述配置文件包含所述excel文件的配置信息;
103、根据所述配置信息将所述工作簿实例workbook解析成java数据,并将所述java数据封装到javabean集合中;
104、将所述javabean集合保存至database数据库。
具体的,由于软件不能直接操作Excel文件,这里先要将Excel文件转换为可操作的workbook实例,另外,还需要编写xml配置文件来获取workbook实例的配置信息。java数据指的是java语言中处理的数据,javabean是一种java语言写成的可重用组件。
该方法可以为各个行业领域提供Excel文档解析服务,降低开发成本,提高开发效率。开发人员只需要编写简单的xml配置文件即可实现Excel文档的解析。
可选地,在该实施例中,使用POI组件将excel文件转换成工作簿实例workbook。
具体的,POI是Apache软件基金会的开放源码函式库,POI提供API(ApplicationProgram Interface,应用程序接口)给Java程序对Microsoft Office格式档案读和写的功能。POI组件功能强大,同时支持office2003、office2010等格式的Excel文档解析,从而满足不同的业务需求。
可选地,在该实施例中,如图2所示,步骤103具体包括:
201、以配置文件中定义的sheet页和开始行号为起始位置,依次读取行数据;
202、根据配置文件中定义的单元格属性对所述行数据进行处理,获得解析后的java数据;
203、调用set赋值方法将所述java数据封装到指定的javabean集合中。
可选地,在该实施例中,所述单元格属性包括:单元格类型、对应的bean节点的属性名和校验规则。
可选地,在该实施例中,所述校验规则包括非空数据校验和/或正则校验。
具体的,下面是一个编写好的xml示例,其中bean节点的class属性指定需要将Excel数据映射到某个javabean对象,sheet节点指定要解析的数据在第几个sheet页,row节点的start属性指定从第几行开始读取数据(序号从0开始),接下来就是一组property节点,示例中共有5个property节点,以第一个property节点为例:第0个单元格对应phoneNum属性,并且对该单元进行非空数据校验,即该单元必须有数据,同时要符合^\d{11}$的正则校验规则,即11位数字,另外还指定了该单元格的类型是CELL_TYPE_STRING类型。
示例代码如下:
Figure BDA0001272672740000061
本发明还提供一种Excel数据解析系统300,如图3所示,该系统300包括数据转换单元301、配置读取单元302、数据解析单元303和数据保存单元304;
数据转换单元301,用于将excel文件转换成工作簿实例workbook;
配置读取单元302,用于读取所述excel文件的配置文件并保存,所述配置文件包含所述excel文件的配置信息;
数据解析单元303,用于根据所述配置信息将所述工作簿实例workbook解析成java数据,并将所述java数据封装到javabean集合中;
数据保存单元304,用于将所述javabean集合保存至database数据库。
具体的,由于软件不能直接操作Excel文件,这里先要将Excel文件转换为可操作的workbook实例,另外,还需要编写xml配置文件来获取workbook实例的配置信息。java数据指的是java语言中处理的数据,javabean是一种java语言写成的可重用组件。
该系统可以为各个行业领域提供Excel文档解析服务,降低开发成本,提高开发效率。开发人员只需要编写简单的xml配置文件即可实现Excel文档的解析。
可选地,在该实施例中,所述数据转换单元使用POI组件将excel文件转换成工作簿实例workbook。
具体的,POI是Apache软件基金会的开放源码函式库,POI提供API(ApplicationProgram Interface,应用程序接口)给Java程序对Microsoft Office格式档案读和写的功能。POI组件功能强大,同时支持office2003、office2010等格式的Excel文档解析,从而满足不同的业务需求。
可选地,在该实施例中,如图4所示,所述数据解析单元303包括行数据读取子单元401、行数据处理子单元402和封装子单元403;
所述行数据读取子单元401,用于以配置文件中定义的sheet页和开始行号为起始位置,依次读取行数据;
所述行数据处理子单元402,用于根据配置文件中定义的单元格属性对所述行数据进行处理,获得解析后的java数据;
所述封装子单元403,用于调用set赋值方法将所述java数据封装到指定的javabean集合中。
可选地,在该实施例中,所述单元格属性包括:单元格类型、对应的bean节点的属性名和校验规则。
可选地,在该实施例中,所述校验规则包括非空数据校验和/或正则校验。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (8)

1.一种excel数据解析方法,其特征在于,包括以下步骤:
步骤1、将excel文件转换成工作簿实例workbook;
步骤2、读取所述excel文件的配置文件并保存,所述配置文件包含所述excel文件的配置信息;
步骤3、根据所述配置信息将所述工作簿实例workbook解析成java数据,并将所述java数据封装到javabean集合中;
所述步骤3具体包括:
步骤3.1、以配置文件中定义的sheet页和开始行号为起始位置,依次读取行数据;
步骤3.2、根据配置文件中定义的单元格属性对所述行数据进行处理,获得解析后的java数据;
步骤3.3、调用set赋值方法将所述java数据封装到指定的javabean集合中;
步骤4、将所述javabean集合保存至database数据库。
2.根据权利要求1所述的excel数据解析方法,其特征在于,在所述步骤1中,使用POI组件将excel文件转换成工作簿实例workbook。
3.根据权利要求1所述的excel数据解析方法,其特征在于,所述单元格属性包括:单元格类型、对应的bean节点的属性名和校验规则。
4.根据权利要求3所述的excel数据解析方法,其特征在于,所述校验规则包括非空数据校验和/或正则校验。
5.一种excel数据解析系统,其特征在于,包括数据转换单元、配置读取单元、数据解析单元和数据保存单元;
数据转换单元,用于将excel文件转换成workbook实例;
配置读取单元,用于读取所述excel文件的配置文件并保存,所述配置文件包含所述excel文件的配置信息;
数据解析单元,用于根据所述配置信息将所述workbook实例解析成java数据,并将所述java数据封装到javabean集合中;
所述数据解析单元包括行数据读取子单元、行数据处理子单元和封装子单元;
所述行数据读取子单元,用于以配置文件中定义的sheet页和开始行号为起始位置,依次读取行数据;
所述行数据处理子单元,用于根据配置文件中定义的单元格属性对所述行数据进行处理,获得解析后的java数据;
所述封装子单元,用于调用set方法将所述java数据封装到指定的javabean集合中;
数据保存单元,用于将所述javabean集合保存至database数据库。
6.根据权利要求5所述的excel数据解析系统,其特征在于,所述数据转换单元使用POI组件将excel文件转换成工作簿实例workbook。
7.根据权利要求5所述的excel数据解析系统,其特征在于,所述单元格属性包括:单元格类型、对应的bean节点的属性名和校验规则。
8.根据权利要求7所述的excel数据解析系统,其特征在于,所述校验规则包括非空数据校验和/或正则校验。
CN201710253333.9A 2017-04-18 2017-04-18 一种excel数据解析方法及系统 Active CN107168695B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710253333.9A CN107168695B (zh) 2017-04-18 2017-04-18 一种excel数据解析方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710253333.9A CN107168695B (zh) 2017-04-18 2017-04-18 一种excel数据解析方法及系统

Publications (2)

Publication Number Publication Date
CN107168695A CN107168695A (zh) 2017-09-15
CN107168695B true CN107168695B (zh) 2020-07-03

Family

ID=59812212

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710253333.9A Active CN107168695B (zh) 2017-04-18 2017-04-18 一种excel数据解析方法及系统

Country Status (1)

Country Link
CN (1) CN107168695B (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107943462A (zh) * 2017-12-15 2018-04-20 政采云有限公司 针对java中的excel数据的处理方法和云端数据交互方法
CN110134398A (zh) * 2018-02-02 2019-08-16 阿里巴巴集团控股有限公司 表格数据的解析方法、系统及设备
CN111240688B (zh) * 2020-01-10 2023-08-18 深圳前海环融联易信息科技服务有限公司 excel文件的解析方法、装置、计算机设备及存储介质
CN111611242A (zh) * 2020-04-30 2020-09-01 北京航天云路有限公司 一种实现Excel数据向数据库导入的方法
CN112347751A (zh) * 2020-11-06 2021-02-09 北京思特奇信息技术股份有限公司 一种cosmic工作量评估文档生成的方法及装置
CN117787251B (zh) * 2024-02-28 2024-05-07 江苏中威科技软件系统有限公司 多格式文件组合或合并阅读展开excel隐藏内容的方法

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20010105679A (ko) * 2000-05-17 2001-11-29 김지섭 Csv 포맷 파일 작성방법

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8621340B2 (en) * 2004-12-20 2013-12-31 Microsoft Corporation Block properties and calculated columns in a spreadsheet application
CN102609483B (zh) * 2012-01-19 2014-07-16 北京思特奇信息技术股份有限公司 一种基于配置方式的Excel通用导入方法
CN103744982A (zh) * 2014-01-15 2014-04-23 北京神州普惠科技股份有限公司 一种将Excel数据导入数据库的方法
CN104991776A (zh) * 2015-07-09 2015-10-21 国云科技股份有限公司 一种基于配置的excel读写方法
CN105094852A (zh) * 2015-09-07 2015-11-25 浪潮软件集团有限公司 一种数据excel导入和导出的工具

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20010105679A (ko) * 2000-05-17 2001-11-29 김지섭 Csv 포맷 파일 작성방법

Also Published As

Publication number Publication date
CN107168695A (zh) 2017-09-15

Similar Documents

Publication Publication Date Title
CN107168695B (zh) 一种excel数据解析方法及系统
CN106202292B (zh) 一种基于结构化数据模型的标准信息分析方法
CN102004744B (zh) 从一个源表到至少一个目标库的表的数据抽取系统及方法
CN104360865A (zh) 一种序列化方法、反序列化方法及相关设备
CN105447099A (zh) 日志结构化信息提取方法及装置
CN103885925B (zh) 一种xbrl实例文档的封装方法
WO2020259417A1 (zh) 一种区块链的数据解析方法及装置
CN110020358B (zh) 用于生成动态页面的方法和装置
WO2017036348A1 (zh) 一种可扩展标记语言xml文档的压缩、解压方法和装置
CN111950247A (zh) 一种基于配置的Word文档生成方法
CN110955714A (zh) 一种将非结构化文本转化为结构化文本的方法及装置
CN114595199B (zh) 文件解析方法、装置、计算机设备和存储介质
CN106776779B (zh) 基于Mac平台的JSON数据生成实体文件的方法
CN105867886B (zh) 一种写表格的方法及装置
CN103309849A (zh) 一种基于OpenXML的docx文档创建和修改方法
CN105574164B (zh) Excel文档的数据解析方法及装置
CN111191419A (zh) 适用testlink的excel转xml方法及系统
US9201838B2 (en) Systems and methods for the efficient exchange of hierarchical data
CN111158665A (zh) 代码生成方法及装置、电子设备和存储介质
CN106775643B (zh) 一种带有渠道数据的应用文件打包系统及方法
CN105224319A (zh) 基于dom4j实现XBRL实例文档预览的方法
CN102262784B (zh) 基于图像压缩的字库编码方法和解码方法
CN111353279A (zh) 字符编码的转换方法、装置和计算机存储介质
CN112947938B (zh) 一种文件转化方法、装置、电子设备及存储介质
CN113282681B (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
GR01 Patent grant
GR01 Patent grant