GridView导出到Excel

来源:互联网 发布:js获取当前浏览器宽度 编辑:程序博客网 时间:2024/05/01 11:05

.......

private void GridViewToExcel()
    {
        //未分页就不用此代码
        GridView1.AllowPaging = false;
        GridView1.PageIndex = 0;
        BindGrid();

        //设置datagrid界面样式,即保存给excel的样式
        GridView1.SelectedRowStyle.BackColor = Color.White;
        GridView1.AlternatingRowStyle.BackColor = Color.White;
        GridView1.RowStyle.BackColor = Color.White;
        GridView1.HeaderStyle.BackColor = Color.Silver;
        GridView1.HeaderStyle.ForeColor = Color.Black;
        GridView1.BorderColor = Color.Black;

        //保存数据到excel
        Response.ContentType = "application/ms-excel";
        Response.Charset = "";          //从Content-Type header中去除charset设置

        Response.ContentEncoding = System.Text.Encoding.GetEncoding("GB2312");   //解决中文乱码之关键
        Response.AppendHeader("Content-Disposition", "attachment;filename=Excel.xls");   //必要,做成下载文件

        EnableViewState = false;
        System.IO.StringWriter stwExcel = new System.IO.StringWriter();
        HtmlTextWriter htwExcel = new System.Web.UI.HtmlTextWriter(stwExcel);
        htwExcel.AddAttribute(HtmlTextWriterAttribute.Title, "charset=gb2312");
        htwExcel.Write("<META>");

        GridView1.RenderControl(htwExcel);
        Response.Write(stwExcel.ToString());
        Response.End();
        htwExcel.Close();
        stwExcel.Close();
    }

原创粉丝点击