xml转excel java_通过构造XML数据流下载成Excel文件[转]

前些天做了一个EXCEL数据下载的东西,发现当数据超过10万行之后,就会内存溢出(用的是本机TOMCAT测试,内存有限,没能调过),新做一种方式,来感觉一下,发现速度有点慢,其他还可以.

一、问题描述

该问题出现是因为在导出文件之后

用户下载的是

.csv

文件,如果用文本编辑器打开可以查看所有记录,但是如果用

excel

打开就出现一个

sheet

最多

6

万条的记录。因此就不可以使用保存为

csv

文件来实现

excel

文件的下载,需要使用新的方式去实现。

如果使用

jxl

开发包在

web

后台去创建

Excel

文件,如果数据量比较大,则用户需要等待很长很长的时间才可以下载到,因为

jxl

的对于

excel

文件的操作都是对象级的

,

文件中每一个格子都是一个

cell

对象,需要后台去

new

。所以还需要考虑别的方式。

二、实现灵感

Excel

文件打开之后选择另存为可以保存为

XML

类型文件,因此就考虑构造符合

Excel

可以打开的

XML

类型文件,并且对该

XML

文件进行最简单化处理,去除

Excel

文件中的每个

cell

style

定义、

XML

文件头部的多余信息,最后整理出一个符合资讯平台所下载的

Excel

文件的格式

,

请看下面:

文件头部

--//>

xmlns:o="urn:schemas-microsoft-com:office:office"

xmlns:x="urn:schemas-microsoft-com:office:excel"

xmlns:ss="urn:schemas-microsoft-com:office:spreadsheet"

xmlns:html="http://www.w3.org/TR/REC-html40">

文件第一个

SHEET --//>

aa0

aa1

aa2

aa0

aa1

aa2

文件第二个

SHEET --//>

一行数据

--//>

aa0

aa1

aa2

aa0

aa1

aa2

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值