[发明专利]一种基于模板和文件追加写的excel数据处理方法和工具有效

专利信息
申请号: 202110416916.5 申请日: 2021-04-19
公开(公告)号: CN112818655B 公开(公告)日: 2021-08-03
发明(设计)人: 冉鹏程 申请(专利权)人: 中建电子商务有限责任公司
主分类号: G06F40/186 分类号: G06F40/186;G06F40/18;G06F16/81
代理公司: 成都睿道专利代理事务所(普通合伙) 51217 代理人: 薛波
地址: 610031 四川省成都市青*** 国省代码: 四川;51
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 一种 基于 模板 文件 追加 excel 数据处理 方法 工具
【说明书】:

发明提供了一种基于模板和文件追加写的excel数据处理方法和工具,方法包括:获取xml配置、excel模板以及源数据;对xml配置解析获取配置信息;对excel模板解析创建空白的新excel;将excel模板的数据内容逐行导出到新excel,根据配置信息的判断结果对新excel执行数据内容导入后的行进行源数据填充;当内存缓存行数超过阈值时,将数据从内存写到硬盘。本发明通过excel模板和xml配置,推算出需要导出的excel的各行数据、样式,实现文件的追加写,减少内存资源消耗;通过描述数据类型和坐标信息的配置放置到xml,利用xml的特性以及数据结构表现形式,可以实现良好的扩展性和可维护性。

技术领域

本发明涉及数据处理技术领域,具体而言,涉及一种基于模板和文件追加写的excel数据处理方法和工具。

背景技术

由于excel具有便携的数据存储和强大的数据处理能力,常常作为各类系统的辅助工具,用于数据的存储、加工、转移等。excel数据导出的场景往往随着业务的发展变得越来越复杂,并且随着数据量的增加,excel数据导出的性能及资源消耗等问题,往往成为系统的瓶颈。常见的excel数据导出可以分为5大类:横表(如考勤记录表)、静态竖表(如统计报表)、动态竖表(如包含履历的简历表)、树形表(如行政区域表)和特殊表,其中特殊表是指包含了一些需要定制生成复杂的背景色、字体、合并单元格等样式或内容的表格,很难实现通用性,并且为非常见的表格类型,所以对于通用型excel导出工具,重点主要在于实现前4类表格的导出功能。

excel表格由两大部分组成:内容和样式,在导出内容的同时,往往还需要赋予合理的样式,在导出excel之前,设置样式的最方便的地方就是模板。

然而,现有的方法中存在如下的缺陷:

(1)直接用开源的类库apache POI来创建workbook对象来生成excel文件,以进行excel数据的导出的方法中,可以导出含有excel格式(例如,合并单元格、设置单元格背景颜色等)的excel文件,也就是说,导出后的文件仍然具有上述的excel格式,然而,由于apache POI类库的workbook对象在上述导出方法(例如,在上述导出方法中执行aDDRow()的指令)上消耗内存非常严重,因此,在内存一定的情况下,无法导出含大量数据的excel文件,例如,当服务器JVM的最大堆内存只有1-2G、且待导出的excel文件的列数为50至60时,由于内存的限制导致只能同时导出1万至2万条的excel数据,其中,上述一条数据指的是excel文件中的一行记录的数据。

(2)按照CSV文本格式直接写数据流生成CSV格式文件导出的方法,可以在内存一定的情况下导出的含大量数据的excel文件(例如,当服务器JVM的最大堆内存只有1-2G、且待导出的excel文件的列数为50至60时,可以导出20-40万条的数据),但是,导出后的文件并不具有excel格式(即,不包括合并单元格、设置单元格背景颜色等),这是由于CSV格式是用逗号隔开的文本文档,因此导出的文件只能展示简单的二维数据表格,不支持excel格式(例如合并单元格,设置单元格背景颜色等),只能展示简单的二维数据表格。

(3)阿里开源的easyexcel的方法,easyexcel导出excel的要素包括excel模板a、数据、新excel,将数据的信息(字段名、类型、填充样式等)配置到模板a里,通过解析excel模板并复制一份模板文件b,获取数据的配置信息及需要填充的坐标位置后,将b中的配置信息清除,得到数据填充前的模板框架,再将数据填充到b中,实现数据的导出。但是easyexcel配置的灵活性较差,不能满足枚举、集合等数据类型的导出;且针对复杂类型的excel导出时,需要将所有的数据放置到内存中,资源消耗大,容易造成内存溢出。

针对上述问题,目前尚未提出有效的解决方案;因此,如何实现一个开发效率高、可维护性强、性能良好、使用范围广的通用型excel导出工具是目前急于解决的问题。

发明内容

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中建电子商务有限责任公司,未经中建电子商务有限责任公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/202110416916.5/2.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top