尝试打开excel中的文件时,您尝试打开的文件格式与文件扩展名c#错误指定的格式不同。
这是我的代码:
private void Export2Excel(GridView GridView1, GridView GridView2)
{
Response.AddHeader("content-disposition",
"attachment;filename= " + filename + ".xls");
Response.Charset = "";
Response.ContentType = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"; //"application/vnd.ms-excel";
StringWriter sw = new StringWriter();
HtmlTextWriter hw = new HtmlTextWriter(sw);
PrepareForExportExcel(GridView1, GridView2);
string style = @"<style> .textmode { mso-number-format:\@; } </style>";
Response.Write(style);
Response.Output.Write(sw.ToString());
Response.OutputStream.Flush();
Response.OutputStream.Close();
}
catch (Exception ex)
{
lblError.Text = ex.Message;
}
}
答案 0 :(得分:2)
这是一个Excel&#34;问题&#34;而不是C#。 Excel 可以打开HTML文档,但如果基础格式与文件扩展名不同,它会发出警告。
解决问题的最佳方法是使用excel库生成一个真实的&#34; excel文档而不是HTML并使用正确的文件扩展名(XSLX
用于二进制Excel文件,<body>
<div id="playground">
<div id ="player"></div>
</div>
</body>
用于&#34; XML&#34; excel文件)