首页 > 解决方案 > xlsx 文件格式无效

问题描述

我使用 System.IO 在 Excel 中导出报告。它适用于 .xls 扩展名,但是当我将扩展名更改为 .xlsx 时,它会给出错误,即扩展名不正确或文件格式不正确。

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();

问题是什么?

标签: asp.net-mvcexport-to-excelsystem.io.file

解决方案


问题是那既不htmlxls也不是xlsx

对于xls过时的格式,Excel 会尝试解决您的问题并检查它支持的所有格式:

屏幕截图

但是里面xlsx应该zip有一些xmls,所以消息不同:

截屏

您必须使用相应的库来创建真正的 excel 文件。


推荐阅读