.net中从GridView中导出数据到excel(详细)

1,创建数据源 找到要导出的GridView中的数据。

2,重写VerifyRenderingInServerForm方法。

   public override void VerifyRenderingInServerForm(Control control)
 {

    }

3,编写导到Excel的方法。

private void ExportGridView()
        {
            /**
             * 如果打印全部数据,则加上注视的代码
             * */
            //GVExport.AllowPaging = false;
            //GVExport.AllowSorting = false;
            //GVExport.DataSource = null;
            //GVExport.DataBind();
            DateTime dt = DateTime.Now;
            Response.ClearContent();
            Response.Buffer = true;
            Response.ContentEncoding = System.Text.Encoding.GetEncoding("utf-8");
            string filename = "XX_" + dt.ToString("yyyyMMddHHmm") + ".xls";
            string[] browsers = { "Firefox", "AppleMAC-Safari", "Opera" }; //针对FF、Safari、Opera 设置编码
            string browser = Request.Browser.Browser;
            string attachment = string.Empty;
            if (Array.IndexOf<string>(browsers, browser) != -1)
            {
                attachment = "attachment; filename=" + filename;
            }
            else
            {
                attachment = "attachment; filename=" + Server.UrlEncode(filename);
            }
            Response.AddHeader("content-disposition", attachment);
            Response.Write("<meta http-equiv=Content-Type content=text/html;charset=utf-8>");
            Response.ContentType = "application/ms-excel";
            StringWriter sw = new StringWriter();
            HtmlTextWriter htw = new HtmlTextWriter(sw);
            GVExport.RenderControl(htw);

 

            Response.Output.Write(sw.ToString());
            Response.Flush();
            Response.End();
        }

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。