您尝试打开的文件' file.xls'格式与文件扩展名指定的格式不同

时间:2016-06-08 13:02:22

标签: c# html asp.net .net excel

我正在尝试导出一个excel,其中包含一个包含html的字符串。它给出了错误消息:

The file you are trying to open 'ExportedHTML.xls' is in different format than specified by the file extension. Verify that the file is not corrupted and is from trusted source before opening the file .
Do you want to open the file ?

点击"是"在此错误消息上打开了Excel。

我尝试了以下两种方式,每种方式都有同样的错误:

First :

            Response.AppendHeader("content-disposition", "attachment;filename=ExportedHtml.xls");
            Response.Charset = "";
            Response.Cache.SetCacheability(HttpCacheability.NoCache);
            Response.ContentType = "application/vnd.ms-excel";
            this.EnableViewState = false;
            Response.Write(sb.ToString());
            Response.End();
Second:

            excelexport obj = new excelexport();
            obj.downloadFile(htmlContent.ToString(), "File.xls");

如何解决?

1 个答案:

答案 0 :(得分:2)

xls适用于excel,直到2007年,它被更改为xlsx(基于xml的格式)或xlsm(如果它有宏)。找出您正在创建的excel文件的确切类型,并确保正确排列扩展名。同样适用于2007年后的Excel文件,您需要内容类型: 应用/ vnd.openxmlformats-officedocument.spreadsheetml.sheet

如果你能正确排列所有这三件事,就应该让消息消失。

可能有所帮助 http://www.whatisexcel.net/excel-file-extensions.html