【发布时间】:2012-03-25 09:33:18
【问题描述】:
当我尝试使用 EPPlus 生成 Excel 文件时,Excel 给我以下错误消息:
Excel 无法打开文件“myfilename.xlsx”,因为文件格式或文件扩展名无效。验证文件没有损坏,并且文件扩展名与文件格式匹配。
这是我的代码:
public ActionResult Index()
{
using (ExcelPackage package = new ExcelPackage())
{
// I populate the worksheet here. I'm 90% sure this is fine
// because the stream file size changes based on what I pass to it.
var stream = new MemoryStream();
package.SaveAs(stream);
string fileName = "myfilename.xlsx";
string contentType = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet";
var cd = new System.Net.Mime.ContentDisposition
{
Inline = false,
FileName = fileName
};
Response.AppendHeader("Content-Disposition", cd.ToString());
return File(stream, contentType, fileName);
}
}
知道我做错了什么吗?
【问题讨论】:
-
错误显示
myfilename.xslx,而您的代码显示myfilename.xlsx。你真正使用的是哪一个? -
已回复yesterday。我认为这是同一个问题。
-
@M.Babcock - xlsx,这是一个错字。我将编辑问题。
-
当我将流位置设置为 0 时,我发现此代码有效,并且我发现它比公认的解决方案更干净。
标签: c# asp.net-mvc excel epplus