EPPlus和NPOI导出.xlsx文件报错解决方法

导出的Excel下载下来打开总是提示错误。

错误提示:EXCEL中发现不可读的内容。是否恢复此工作薄的内容?如果信任此工作薄的来源,请单击“是”。 单击“是”后:Excel 已完成文件级验证和修复。此工作簿的某些部分可能已被修复或丢弃。

解决代码如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
MemoryStream ms = new MemoryStream();
ep.SaveAs(ms);//MemoryStream
string fileName = HttpUtility.UrlEncode(string.Format("{0}.xlsx", "canomo.com"));
Response.Clear();
Response.ClearHeaders();
Response.ClearContent();
//Response.ContentType = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet";//可以不用指定ContentType
Response.ContentType = "application/download";
Response.AddHeader("Content-Disposition", string.Format("attachment;filename={0}", fileName));
Response.AddHeader("Content-Length", ms.ToArray().Length.ToString());//加上设置大小下载下来的.xlsx文件打开时才没有错误
Response.BinaryWrite(ms.ToArray());
ms.Close();
ms.Dispose();
Response.End();

分享

文章导航