[发明专利]数据导出方法和装置有效

专利信息
申请号: 201210161154.X 申请日: 2012-05-22
公开(公告)号: CN103425692A 公开(公告)日: 2013-12-04
发明(设计)人: 池元嘉;孙轶;沈秀辉 申请(专利权)人: 阿里巴巴集团控股有限公司
主分类号: G06F17/30 分类号: G06F17/30
代理公司: 北京康信知识产权代理有限责任公司 11240 代理人: 吴贵明;江舟
地址: 英属开曼群岛大开*** 国省代码: 开曼群岛;KY
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 数据 导出 方法 装置
【说明书】:

技术领域

本申请涉及数据处理技术领域,具体而言,涉及一种数据导出方法和装置。

背景技术

在Java Web后台系统中,常常会遇到导出含大量数据的Excel的场景需求。当前在Java开发中导出Excel的常规做法有两种:一种方法是直接用开源的类库apache POI来创建workbook对象来生成Excel文件来导出,这种方法可以导出含有Excel格式的Excel文件(如合并单元格,设置单元格背景颜色等);另外一种方法是按照CSV文本格式直接写数据流生成CSV格式文件导出。

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

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格式(例如合并单元格,设置单元格背景颜色等),只能展示简单的二维数据表格。

针对相关技术中的上述问题,目前尚未提出有效的解决方案。

发明内容

本申请的主要目的在于提供一种数据导出方法和装置,以解决相关技术中无法导出含大量数据的EXCEL文件、且导出后的数据包括原EXCEL文件中的EXCEL格式的问题。

根据本申请的一个方面,提供了一种数据导出方法,该方法包括:根据待导出的数据记录的内容属性和格式属性构建Velocity模板,其中,Velocity模板包括:分别与内容属性和格式属性对应的内容属性变量和格式属性变量;根据所需获取的数据记录的总条数N和每次填充Velocity模板所需的数据记录的条数M设置填充Velocity模板的次数T,其中,T=(N+M-1)/M,/为整除;按照以下步骤执行T次对Velocity模板的填充:从数据库中获取M条数据记录,将每条获取到的数据记录中的内容属性的值和格式属性的值赋值给Velocity模板中对应的内容属性变量和格式属性变量;根据执行了T次对Velocity模板的填充之后得到的结果生成XML文档。

优选的,根据待导出的数据记录的内容属性和格式属性构建Velocity模板的步骤包括:获取数据记录文档,其中,数据记录文档中包括内容属性和格式属性;将数据记录文档转换成XML文档,其中,转换成的XML文档包括内容属性和格式属性;根据转换成的XML文档中的格式构建Velocity模板。

优选的,获取数据记录文档的步骤包括:通过交互界面接收用户输入的一条或多条数据记录,其中,输入的数据记录包括内容属性和格式属性;将用户输入的一条或多条数据记录保存为数据记录文档。

优选的,获取数据记录文档的步骤包括:从数据库中获取M条数据记录中的一条或多条数据记录,其中,获取的数据记录包括内容属性和格式属性;将获取的一条或多条数据记录保存为数据记录文档。

优选的,根据执行了T次对Velocity模板的填充之后得到的结果生成XML文档的步骤包括:Velocity渲染引擎通过调用Velocity渲染引擎内部JAVA程序来将填充得到结果渲染成XML文档。

优选的,在根据执行了T次对Velocity模板的填充之后得到的结果生成XML文档之后,还包括:将生成的XML文档的后缀名改为EXCEL文档的后缀名;和/或将生成的XML文档进行压缩。

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

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

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

×

专利文献下载

说明:

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

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

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

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

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

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

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

钻瓜专利网在线咨询

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

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