为什么在打开.xls文件时显示错误消息

Suk*_*nya 10 c# asp.net xls xlsx internet-explorer-5

在我的asp.net,C#应用程序中,我们正在生成并下载.xls文件.但是当我试图打开时,它正在发出消息

"您尝试打开的文件'filename.xls'的格式与文件扩展名指定的格式不同.在打开文件之前,请验证文件是否已损坏且来自受信任的来源.是否要打开现在的文件?"

如果我按"是"它就会打开.我将文件扩展名更改为.xlsx,仍然是相同的消息.谁能告诉我为什么会这样?我在IIS管理器中添加了.xlsx MIME类型扩展,MIME类型为application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.它仍然显示相同的消息.请建议我如何摆脱它.

jbl*_*jbl 2

您是完全创建 xls 文件还是复制并填充模板 xls 文件?格式不正确的模板文件可能会导致该问题。

另外,您使用哪个提供商来填写您的文件?- Microsoft.ACE.OLEDB.12.0 用于 xlsx/xlsm ?- Microsoft.Jet.OLEDB.4.0 xls ?

不正确的提供程序/扩展程序组合可能会导致该问题。

根据您的评论,这是我过去做过的代码的一部分:(评论了一些行,因为我不记得它们为什么有用)

Response.Clear();                           
Response.ContentType = "application/vnd.ms-excel";
//Response.ContentEncoding = Encoding.Default; 
//Response.Charset=""; 
Response.AddHeader("Content-Disposition: ",
    String.Format(@"attachment; filename={0}",myfileName));

//EnableViewState = false; 

Response.Write(myFileContentAsString); 
Response.Flush();
Response.Close();
Run Code Online (Sandbox Code Playgroud)