将数据网格数据导出到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标记,我可以知道我的代码出了什么问题吗?请帮忙!!
您需要将文件写为二进制文件,可以使用TransmitFile
或BinaryWrite
方法,仅使用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.