这是我的代码,但最终出现意外的格式错误。MIME 类型一定有问题,但是我发现这是原始的官方 MIME 类型。
我错过了什么?每次我尝试打开通过这种方法创建的任何文档时似乎都是“损坏的”,但是当我单击该消息时一切正常。
消息:您尝试打开的文件“name.ext”的格式与文件扩展名指定的格式不同。在打开文件之前,请确认文件没有损坏并且来自受信任的来源。您现在要打开文件吗?
但是,我需要摆脱这个警告,因为我无法导入文件,因为它是无效的。如果我将文件保存为 2003-2007 格式的 .xls,它似乎已修复。但这不是一个可行的解决方案。
protected void ExportToExcel(string fileName)
{
var cmd = new SqlCommand(query);
var dt = GetData(cmd);
var writer = new StringWriter();
var gridview = new GridView();
gridview.AllowPaging = false;
gridview.DataSource = dt;
gridview.DataBind();
Response.Clear();
var hw = new HtmlTextWriter(writer);
gridview.RenderControl(hw);
Response.ContentType = "application/vnd.ms-excel";
Response.AddHeader("Content-Disposition", "attachment;filename=" + fileName + ".xls");
// this.EnableViewState = false;
Response.Write(writer.ToString());
// Response.Flush();
Response.End();
}