ASP.NET中GridView数据导出到Excel
/// <summary> /// 导出按钮 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> protected void btnExport_Click1(object sender, EventArgs e) { this.gv.AllowPaging = false; this.gv.AllowSorting = false; Query();//获取数据并绑定到GridView toExcel(this.gv); this.gv.AllowPaging = true; this.gv.AllowSorting = true; Query();//获取数据并绑定到GridView } /// <summary> /// 导出到Excel /// </summary> /// <param name="gv"></param> void toExcel(GridView gv){ Response.Charset = "GB2312"; Response.ContentEncoding = System.Text.Encoding.GetEncoding("GB2312"); string fileName = "export.xls"; string style = @"<style> .text { mso-number-format:\@; } </script> "; Response.ClearContent(); Response.AddHeader("content-disposition", "attachment; filename=" + fileName); Response.ContentType = "application/excel"; StringWriter sw = new StringWriter(); HtmlTextWriter htw = new HtmlTextWriter(sw); this.gv.RenderControl(htw); Response.Write(style); Response.Write(sw.ToString()); Response.End(); } /// <summary> /// 这个重写貌似是必须的 /// </summary> /// <param name="control"></param> public override void VerifyRenderingInServerForm(Control control) { } 备注: 1、gv就是页面上的GridView空间名称; 2、代码中的Query方法所做的是,获取数据并绑定到GridView。