Asp.net mvc xlsx文件格式无效
我已经使用System.IO在Excel中导出了报告。对于.xls扩展名,它可以正常工作,但当我将扩展名更改为.xlsx时,它会给出一个错误,即扩展名不正确或文件格式不正确Asp.net mvc xlsx文件格式无效,asp.net-mvc,export-to-excel,system.io.file,Asp.net Mvc,Export To Excel,System.io.file,我已经使用System.IO在Excel中导出了报告。对于.xls扩展名,它可以正常工作,但当我将扩展名更改为.xlsx时,它会给出一个错误,即扩展名不正确或文件格式不正确 var grdview = new GridView(); grdview.DataSource = this.GetSequence(); grdview.DataBind(); Response.ClearContent();
var grdview = new GridView();
grdview.DataSource = this.GetSequence();
grdview.DataBind();
Response.ClearContent();
Response.Buffer = true;
Response.AddHeader("content-disposition", "attachment; filename= Search Report " + Date + " - " + Date1 + ".xls ");
Response.ContentType = "application/ms-excel";
Response.Charset = "";
StringWriter strWriter = new StringWriter();
HtmlTextWriter htmlWriter = new HtmlTextWriter(strWriter);
htmlWriter.Write("<table><tr><td colspan='13' align='center'><font size='45'>Search Report of Regular Passenger</font></td></tr></table>");
grdview.RenderControl(htmlWriter);
Response.Output.Write(strWriter.ToString());
Response.Flush();
Response.End();
问题是什么?问题是html是niether xls或xlsx
对于作为过时格式的xls,Excel会尝试解决您的问题,并检查其支持的所有格式:
但是xlsx应该是zip格式,内部包含一些XML,因此消息不同:
您必须使用相应的库来创建真正的excel文件。是否有其他方法使用同一个库?@Faizan,使用HtmlTextWriter所能做的只是创建HTML。你可以在谷歌上搜索,有许多.NET库可以生成正版Excel格式的文件。其中一些是免费使用的。@Faizan,使用OpenXML和一些包装器。