关于MVC控制器导出Excel时MemoryStream流已关闭的问题
来源:互联网 发布:产品旋转展示制作软件 编辑:程序博客网 时间:2024/05/20 02:26
在MVC控制器导出Excel时遇到一个问题,当我关闭流时,无法导出Excel文件
代码: MemoryStream ms = bll.GetOrdersExcel(info, ul, filePath,tempPath);
try
{
{
if (ms == null)
{
return Content("导出Excel异常,请联系客服", "text/html");
}
else
{
flag = true;
ms.Seek(0, SeekOrigin.Begin);
return File(ms , "application/ms-excel", fileName);
}
}
}
catch (Exception ex)
{
LogWrite.Logger("FileExportExcel:" + ex.Message.ToString(), LogEnum.Error);
return Content("导出Excel异常,请联系客服", "text/html");
}
finally
{
if (flag)
{
System.IO.File.Delete(System.Web.HttpContext.Current.Server.MapPath(filePath));
}
ms.Dispose();
}
这样写一直报错,因为return 的时候 ms流已经背dispose()了,所以会导致无法找到关闭的流的错误,
找了半天的办法,发现这个问题很简单,只要将ms 用中间量存下来即可,
byte[] mst = ms.ToArray();//转为byte数组以便于关闭ms
然后将return File(ms , "application/ms-excel", fileName); 改为return File(mst , "application/ms-excel", fileName);就可以了
如果大家有更好的办法欢迎留言,共同学习!
代码: MemoryStream ms = bll.GetOrdersExcel(info, ul, filePath,tempPath);
try
{
{
if (ms == null)
{
return Content("导出Excel异常,请联系客服", "text/html");
}
else
{
flag = true;
ms.Seek(0, SeekOrigin.Begin);
return File(ms , "application/ms-excel", fileName);
}
}
}
catch (Exception ex)
{
LogWrite.Logger("FileExportExcel:" + ex.Message.ToString(), LogEnum.Error);
return Content("导出Excel异常,请联系客服", "text/html");
}
finally
{
if (flag)
{
System.IO.File.Delete(System.Web.HttpContext.Current.Server.MapPath(filePath));
}
ms.Dispose();
}
这样写一直报错,因为return 的时候 ms流已经背dispose()了,所以会导致无法找到关闭的流的错误,
找了半天的办法,发现这个问题很简单,只要将ms 用中间量存下来即可,
byte[] mst = ms.ToArray();//转为byte数组以便于关闭ms
然后将return File(ms , "application/ms-excel", fileName); 改为return File(mst , "application/ms-excel", fileName);就可以了
如果大家有更好的办法欢迎留言,共同学习!
阅读全文
0 0
- 关于MVC控制器导出Excel时MemoryStream流已关闭的问题
- MemoryStream导出 Excel文件
- 关于MemoryStream转byte的一个问题
- 使用poi导出excel后,关于出现#NAME? 的问题,已解决
- 关于MemoryStream的使用
- 关于poi导出excel时的各种注意问题
- 关于eXtremeComponents 导出excel 的问题
- 一个高效的导出Excel方法,并且已解决导出会有样式文件夹的问题
- 关于导出excel路径问题
- 导出excel的问题
- 关于java poi导入导出excel的包冲突问题
- 关于js导出excel的标题日期问题
- 关于控件导出Excel格式问题的新解决方案
- 关于bicomb无法将数据导出到excel的问题
- gridview 导出Excel时注意的问题
- Ehlib导出至excel时的问题
- 关于struts2中使用POI的方式导出EXCEL文件时的国际化问题
- 关于使用POI导出时excel版本问题的bug解决
- Android中Xlistview的使用
- http自动转https【方法总结】
- python篇6_界面编程easygui
- top命令详解
- TCP端口扫描方式
- 关于MVC控制器导出Excel时MemoryStream流已关闭的问题
- android studio 代码块快捷键
- 每个程序员都应该收藏的算法复杂度速查表
- DP+字符串
- 数位DP入门 HDOJ2089学模板
- 简单错误记录
- 深度学习-攒机小记
- 剑指offer--平衡二叉树--AVL树
- SpringSecurity源码解读(三) AbstractAuthenticationProcessFilter和UsernamePasswordAuthenticationFilter补全