NutzCN Logo
问答 excel 下载数据,由于数据量太大导致浏览器页面会崩溃
发布于 320天前 作者 qq_722cb381 514 次浏览 复制 上一个帖子 下一个帖子
标签:

excel 下载数据,由于数据量太大导致浏览器页面会崩溃,这个问题怎么解决?

10 回复

下载文件就好啦

@wendal 什么意思,没明白,我就是导出excel,时间过长就崩溃了,你的意思是先生成一个文件 在下载?那不还是 长时间吗?

怎样导出excel

这种方式,然后查询数据 添加一个map 最后生成excel 用的poi

OutputStream out = response.getOutputStream();
				//octets/stream   application/vnd.ms-excel
				response.setContentType("octets/stream");
				excelName ="账单数据信息";
				//转码防止乱码
				response.addHeader("Content-Disposition", "attachment;filename="+new String( excelName.getBytes("gb2312"), "ISO8859-1" )+".xls");
				String[] headers = new String[]{"门店ID","金额","扣点后金额","配送费","订单数","最终结款金额"};
				List<Map<String,Object>> list = new ArrayList<Map<String,Object>>();

是poi挂了吧,内存不够之类的

@wendal 用的poi jar包 这个还能挂了? 内存应该够用

Java 解析 Excel 工具 easyexcel

Java 解析、生成 Excel 比较有名的框架有 Apache poi、jxl 。但他们都存在一个严重的问题就是非常的耗内存,poi 有一套 SAX 模式的 API 可以一定程度的解决一些内存溢出的问题,但 POI 还是有一些缺陷,比如 07 版 Excel 解压缩以及解压后存储都是在内存中完成的,内存消耗依然很大。easyexcel 重写了 poi 对 07 版 Excel 的解析,能够原本一个 3M 的 excel 用 POI sax 依然需要 100M 左右内存降低到 KB 级别,并且再大的 excel 不会出现内存溢出,03 版依赖 POI 的 sax 模式。在上层做了模型转换的封装,让使用者更加简单方便。

地址:https://github.com/alibaba/easyexcel

添加回复
请先登陆
回到顶部