gridview中的数据导入Excel中,gridview是分页的,想把所有的数据都导入,但是报错

解决方案 »

  1.   

    什么错啊
    如果不是需要到处所有数据,直接从dataset导呗
      

  2.   

    using System.IO;
    using System.Text;//导出到Excel
        protected void Button1_Click(object sender, ImageClickEventArgs e)
        {
            Response.Clear();
            Response.AddHeader("content-disposition", "attachment;filename=FileName.xls");
            Response.Charset = "gb2312";
            Response.ContentType = "application/vnd.xls";
            Response.ContentEncoding = System.Text.Encoding.GetEncoding("GB2312");
            Response.Write("<meta http-equiv=Content-Type content=\"text/html; charset=GB2312\">");        System.IO.StringWriter stringWrite = new System.IO.StringWriter();
            System.Web.UI.HtmlTextWriter htmlWrite = new HtmlTextWriter(stringWrite);
            GridView.AllowPaging = false;
            GridView.AutoGenerateEditButton = false;
            GridView.AutoGenerateDeleteButton = false;
            //绑定GridView
            BindGridView();
            
            GridView.RenderControl(htmlWrite);
            Response.Write(stringWrite.ToString());
            Response.End();
            GridView.AllowPaging = true;
            //再次绑定GridView
            BindGridView();
        }
        //必须写的方法 否则报错
        //打印的客户端调用方法
        public override void VerifyRenderingInServerForm(Control control)
        {
        }
      

  3.   

    用数据源DataTable导出http://topic.csdn.net/u/20071224/17/62579bb6-ea22-48c3-bd60-3196a56835e9.html
      

  4.   

    dataview的数据源放到session,从session中导出
      

  5.   

    如果有分页的话,可以重载以后在导出代码如下:
    private void BindGrid()
    {
        GridView.DataSource = 数据源;
       GridView.DataBind()
    }protected void Button1_Click(object sender, ImageClickEventArgs e) 
        { 
            GridView.AllowPaging = false; //设置分页为false
            GridView.AutoGenerateEditButton = false; 
            GridView.AutoGenerateDeleteButton = false;
    BindGrid1();      //重新载入 
            Response.Clear(); 
            Response.AddHeader("content-disposition", "attachment;filename=FileName.xls"); 
            Response.Charset = "gb2312"; 
            Response.ContentType = "application/vnd.xls"; 
            Response.ContentEncoding = System.Text.Encoding.GetEncoding("GB2312"); 
            Response.Write(" <meta http-equiv=Content-Type content=\"text/html; charset=GB2312\"> ");         System.IO.StringWriter stringWrite = new System.IO.StringWriter(); 
            System.Web.UI.HtmlTextWriter htmlWrite = new HtmlTextWriter(stringWrite);         
             
             
            GridView.RenderControl(htmlWrite); 
            Response.Write(stringWrite.ToString()); 
            Response.End(); 
            GridView.AllowPaging = true; //从新设置分页为true
        } 
      

  6.   

            Response.Charset = "gb2312";
            Response.ContentEncoding = System.Text.Encoding.UTF7;
            Response.AppendHeader("Content-Disposition", "atachment;filename=" + HttpUtility.UrlEncode(FileName, System.Text.Encoding.UTF8).ToString());
            Response.ContentType = FileType;
            this.EnableViewState = false;
            StringWriter tw = new StringWriter();
            HtmlTextWriter hw = new HtmlTextWriter(tw);
            GridView1.RenderControl(hw);
            Response.Write(tw.ToString());
            Response.End();
    我的是这么写的,为什么错了呢!7楼的对了,谢谢你