excel 下载数据,由于数据量太大导致浏览器页面会崩溃,这个问题怎么解决?
10 回复
@wendal 什么意思,没明白,我就是导出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>>();
@wendal 对
@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
@tonyyule 好的 我看一下
添加回复
请先登陆