我尝试使用xlsx格式导出到excel,但在尝试打开文件时出现此错误。 Excel无法打开文件' CertificationMetricsReport.xlsx'因为文件格式或文件扩展名无效。验证文件是否已损坏,文件扩展名是否与文件格式匹配。
如果我将提供文件名CertificationReport.xls,那么我可以打开它。
以下是代码段
public void RenderedReportContent(byte[] fileContent)
{
try
{
Response.Clear();
Response.ContentType = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet";
Response.AddHeader("Content-Length", fileContent.Length.ToString());
Response.AddHeader("Content-Disposition", "attachment; filename="CertificationReport.xlsx");
Response.BinaryWrite(fileContent);
Response.End();
}
catch (Exception ex)
{
if (!(ex is System.Threading.ThreadAbortException))
{
//Other error handling code here
}
}
}
当我尝试下载CertificationMetricsReport.xls时,它可以正常工作。
请帮我下载xlsx文件。
答案 0 :(得分:2)
也许您可以尝试更改内容类型
到contenttype =" application / vnd.ms-excel&#34 ;; 或application / octect-stream
Response.Clear();
Response.Buffer = True;
Response.ContentType = "application/octet-stream";
Response.AddHeader("Content-Disposition", "attachment;filename=yourfile.xslx"
Response.BinaryWrite(YourFile);
Response.End();
你也可以尝试使用response.flush
最后在IE,Chrome,Firefox等其他导航器中尝试...
编辑:http://social.msdn.microsoft.com/forums/en-US/3d539969-51c4-42bc-8289-6d70d8db7aff/prompt-while-downloading-a-file-for-open-or-save EDIT2:How to send file in HttpResponse?