将数据网格数据导出到Excel C#

本文关键字:数据 Excel 数据网 网格 | 更新日期: 2023-09-27 18:21:11

我已经将字符串Array绑定到Datagrid中,然后我需要通过在客户端机器中自动保存文件来将数据导出到excel文件中。下面是我使用的代码。

string fileName = "attachment;filename= DetailReport.xlsx";
        Response.Clear();
        Response.AddHeader("content-disposition", fileName);
        Response.Charset = "";
        Response.Cache.SetCacheability(HttpCacheability.NoCache);
        Response.ContentType = "application/vnd.ms-excel";
        System.IO.StringWriter stringWrite = new System.IO.StringWriter();
        System.Web.UI.HtmlTextWriter htmlWrite = new HtmlTextWriter(stringWrite);
        grdExcel.RenderControl(htmlWrite);
        Response.Output.Write(stringWrite.ToString());
        Response.Flush();
        Response.End();

我成功地导出了文件并保存在客户端机器中,但文件中的内容包括所有HTML标记,我可以知道我的代码出了什么问题吗?请帮忙!!

将数据网格数据导出到Excel C#

您需要将文件写为二进制文件,可以使用TransmitFileBinaryWrite方法,仅使用HtmlTextWriter是没有帮助的。

请参见此处。

这可能会有所帮助!

        Response.Buffer = true;
        Response.ContentType = "application/text";
        Response.AppendHeader("Content-Disposition", "attachment; filename=file1.xls");
        Response.TransmitFile(fileName);
        Response.Flush();
        Response.End();

使用Response.Write而不是Response.Output.Write.