[发明专利]一种针对大容量Excel文件数据的抽取方法及系统在审
申请号: | 202111043514.1 | 申请日: | 2021-09-07 |
公开(公告)号: | CN115774745A | 公开(公告)日: | 2023-03-10 |
发明(设计)人: | 姚黎明;高灵超;王家凯;陈相舟 | 申请(专利权)人: | 国家电网有限公司大数据中心 |
主分类号: | G06F16/25 | 分类号: | G06F16/25;G06F16/28;G06F16/22 |
代理公司: | 北京安博达知识产权代理有限公司 11271 | 代理人: | 徐国文 |
地址: | 100031 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 针对 容量 excel 文件 数据 抽取 方法 系统 | ||
本发明提供一种针对大容量Excel文件数据的抽取方法及系统,包括:获取待抽取的Excel文件及对应的磁盘地址;分别根据所述待抽取的Excel文件以及对应的磁盘地址构建Excel实体对象及数据库中用于存储读取到的Excel数据的数据表;利用EasyExcel逐条读取Excel实体对象中的数据并记录至内存,将内存中的数据通过基于MySQL JDBC的持久化函数持久化至数据库中,得到抽取后的Excel文件数据;其中,所述Excel实体对象包括Excel文件中需要抽取的数据。本发明利用EasyExcel和基于MySQL JDBC的持久化方法降低了大容量Excel文件数据写入数据库时占用的内存,提高了数据读取的效率及写入数据库的速度。
技术领域
本发明涉及数据抽取技术领域,具体涉及一种针对大容量Excel文件数据的抽取方法及系统。
背景技术
随着电网数据中台分析建设工作的开展,如何高效地接入电网运行时产生的TB级数据,做到以数据为核心,以数据为驱动,能够对数据物尽其用,充分挖掘数据价值,对于促进电力系统业务发展以及提高管理水平具有重要意义。
目前,电力大数据的主要来源有数据采集与监视控制系统、能量管理系统、配电管理系统、市场运行系统等,这些系统在运行时产生的数据文件需要通过数据抽取技术将这些零散的数据整合在一起,纳入统一的电力大数据平台,高效的数据抽取技术能够为平台电力数据分析提供更加可靠的数据支撑,进而提高电力系统的运行水平。这些规模庞大、种类繁多的电力数据大多以记录的形式保存在Excel文件中,针对大容量Excel文件的抽取,主要采用Apache的POI进行文件数据加载,采用MyBatis将加载到内存的数据批量插入到数据库中;
Apache POI是一种Java应用程序接口,提供了对Microsoft Office格式文档进行读和写的功能。对于Excel文件的读写,Apache POI不仅针对不同的Excel版本有不同的读写方式,也有读写大容量Excel文件时产生内存溢出的处理策略;但在读取大容量Excel文件时,虽然Apache POI能通过SAX模式防止内存溢出,但仍然带来非常大的内存消耗。如07版Excel解压缩以及解压后存储都是在内存中完成的,会将所有字串信息的索引保存到内存中,原本一个3M的Excel用POI的SAX模式解析依然需要100M左右内存;
且SAX模式的API太过繁琐,使用时必须去了解Excel文件的底层结构;且针对不同版本的Excel文件使用的是完全不同的两套API,实际项目中必须针对不同文件类型分别实现;
将大量数据批量写入数据库时,在Mybatis的辅助下,能将原本“每解析一条数据,执行一条数据库插入语句”的情况优化为“批量执行数据插入语句”,因此MyBatis可以对多条数据的数据库插入语句进行拼接与封装,实现数据的批量插入,但直接使用数据库插入语句仍然比较耗费时间。
发明内容
针对现有技术中存在的加载Excel文件条目规模较大的数据容易产生内存溢出、解析繁琐及插入数据库过于消耗时间的问题本发明提供一种针对大容量Excel文件数据的抽取方法,包括:
获取待抽取的Excel文件及对应的磁盘地址;
分别根据所述待抽取的Excel文件以及对应的磁盘地址构建Excel实体对象及数据库中用于存储读取到的Excel数据的数据表;
利用EasyExcel逐条读取Excel实体对象中的数据并记录至内存,将内存中的数据通过基于MySQL JDBC的持久化函数持久化至数据库中,得到抽取后的Excel文件数据;
其中,所述Excel实体对象包括Excel文件中需要抽取的数据。
优选的,所述利用EasyExcel逐条读取Excel实体对象中的数据并记录至内存,将内存中的数据通过基于MySQL JDBC的持久化函数持久化至数据库中,得到抽取后的Excel文件数据,包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于国家电网有限公司大数据中心,未经国家电网有限公司大数据中心许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202111043514.1/2.html,转载请声明来源钻瓜专利网。
- 上一篇:鼻咽式检体自动采检系统及方法
- 下一篇:一种触摸数据处理方法及交互平板