从GridView导出数据到Excel时的注意事项

从GridView导出数据到Excel时,必须加上 :

 public override void VerifyRenderingInServerForm(Control control)
    {
        //base.VerifyRenderingInServerForm(control);
    }

这个看似没用的方法,否则vs.net 2005将提示:类型“GridView”的控件“GridView1”必须放在具有 runat=server 的窗体标记内。

从GridView导出数据到Excel的完整代码如下:

protected void Button2_Click(object sender, EventArgs e)
    {

     

        SqlDataSource1.SelectCommand = sql;

        GridView1.AllowPaging = false;
        GridView1.DataBind();
        //清除客户端当前显示
        Response.Clear();
        //显示标头
        Response.AddHeader("content-disposition", "attachment;filename=FileName.xls");
        //设置显示的字和内容要存的形式
        //Response.Charset = "gb2312";
        //Response.ContentType = "application/vnd.xls";

        Response.ContentEncoding = System.Text.Encoding.GetEncoding("utf-8");

        System.IO.StringWriter stringWrite = new System.IO.StringWriter();

        HtmlTextWriter htmlWrite = new HtmlTextWriter(stringWrite);
        GridView1.RenderControl(htmlWrite);
        //GridView1.RenderControl(htmlWrite);
        Response.Write(stringWrite.ToString());
        Response.End();

        GridView1.AllowPaging = true;
        GridView1.DataBind();

    }
    public override void VerifyRenderingInServerForm(Control control)
    {
        //base.VerifyRenderingInServerForm(control);
    }
 

你可能感兴趣的:(sql,object,server,Excel,button)