ASP.NET MVC 使用NPOI导出Excel 无法访问已关闭的流(转)

时间:2021-08-20 22:08:18

第一步重写MemoryStream , 让它不能自动关闭.

 //新建类 重写Npoi流方法
public class NpoiMemoryStream : MemoryStream
{
public NpoiMemoryStream()
{
AllowClose = true;
} public bool AllowClose { get; set; } public override void Close()
{
if (AllowClose)
base.Close();
}
}

第二部 控制一下.

//导出Excel文件的方法
var ms = new NpoiMemoryStream();
ms.AllowClose = false;
workbook.Write(ms);
ms.Flush();
ms.Seek(, SeekOrigin.Begin);
ms.AllowClose = true; return File(ms, "application/vnd.ms-excel","某某.xlsx");

转载: http://www.cnblogs.com/codedreams/p/5662740.html