IE浏览器下载excel数据量较大时第一次下载失败

在IE浏览器中,当Excel数据量超过300KB时,首次下载可能会失败。本文介绍了两种解决方案:1) 先将文件保存到服务器再下载,但存在文件覆盖风险;2) 使用MemoryStream生成数据流直接下载,避免文件覆盖并保证下载成功。
摘要由CSDN通过智能技术生成

最近碰到一个很奇怪的问题,就是IE下载excel在数据量超过300K左右时,第一次下载会失败。我后台用的下载插件是Apose,感觉这个问题如果用NPOI的话导出应该就没什么问题,但是由于项目时间问题,只能寻求其他解决方案。有两种解决方案:

1,         string URL = Request.Url.Host.ToString();
            workbook.Save(reportName, FileFormatType.Excel2007Xlsx, SaveType.OpenInExcel, System.Web.HttpContext.Current.Response, Encoding.UTF8);
            workbook.Save(Server.MapPath(@"~\Temp") + "\\" + reportName);
            Response.Redirect("http://localhost:47568/Temp" + "/" + reportName);
            Response.Write("<script>window.open();</script>");
            Response.Redirect(URL);

这种方法是先把数据库中的表文件下载到服务器端,然后再下载到本地,但是这种方法会有一些问题,就是当两个人同时下载的话就会出现文件覆盖的情况。


2,            System.IO.MemoryStream ms = workbook.SaveToStream(); 生成数据流 
            byte[] bt = ms.ToArray();

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值