IE浏览器下载excel数据量较大时第一次下载失败
发布日期:2021-11-09 22:50:42
浏览次数:33
分类:技术文章
本文共 1102 字,大约阅读时间需要 3 分钟。
最近碰到一个很奇怪的问题,就是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(); string reportName = "Speaker Information Detail" + DateTime.Now.ToString("yyyy-MM-dd-HHmmss") + ".xls";//客户端保存的文件名 以字符流的形式下载文件 Response.ContentType = "application/vnd.ms-excel"; 通知浏览器下载文件而不是打开 Response.AddHeader("Content-Disposition", "attachment; filename=" + HttpUtility.UrlEncode(reportName, System.Text.Encoding.UTF8)); Response.BinaryWrite(bt); Response.Flush(); Response.End();这种方法使用.net自身所具备的一些机制,可以较好的解决第一种方法中出现的问题,并且不会出现下载失败的问题。
转载地址:https://blog.csdn.net/dashuaiwang1/article/details/51953210 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
初次前来,多多关照!
[***.217.46.12]2024年04月16日 04时42分00秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
第3章-5 字符转换 (15分)【python】
2019-04-26
L1-068 调和平均 (10 分)
2019-04-26
L1-069 胎压监测 (15 分)
2019-04-26
L1-071 前世档案 (20 分)
2019-04-26
L1-072 刮刮彩票 (20 分)
2019-04-26
L2-012 关于堆的判断 (25 分)
2019-04-26
L1-064 估值一亿的AI核心代码 (20 分)
2019-04-26
L2-033 简单计算器 (25 分)
2019-04-26
L2-034 口罩发放 (25 分)
2019-04-26
L2-019 悄悄关注 (25 分)
2019-04-26
L1-020 帅到没朋友 (20 分)
2019-04-26
L1-046 整除光棍 (20 分)
2019-04-26
L2-021 点赞狂魔 (25 分)【优化后的】
2019-04-26
L2-032 彩虹瓶 (25 分)
2019-04-26
L2-004 这是二叉搜索树吗? (25 分)
2019-04-26
L2-011 玩转二叉树 (25 分)
2019-04-26
L2-006 树的遍历 (25 分)
2019-04-26
L3-010 是否完全二叉搜索树 (30 分)
2019-04-26
6-10 阶乘计算升级版 (20 分)
2019-04-26