我增加了一个按钮,点击的时候将gridview中的数据导出到excel表格中,可是只会导出当前页的数据,我想能把所有页的数据都导出出来。代码如下:
protected void Button1_Click(object sender, EventArgs e)
        {
            Export("application/ms-excel", "学员信息表.xls");
        }
        private void Export(string FileType, string FileName)
        {
            Response.Charset = "GB2312";
            Response.ContentEncoding = System.Text.Encoding.UTF7;
            Response.AppendHeader("Content-Disposition","attachment;filename="+HttpUtility.UrlEncode(FileName,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();
            
        }
        public override void VerifyRenderingInServerForm(Control control)
        {
            //base.VerifyRenderingInServerForm(control);
        }

解决方案 »

  1.   

    建议你换一种方式,用Office类。Response只能导入当前页的数据,而且也不能设置格式。
      

  2.   

    遍历数据集,打开EXCEL模板,赋值给单元格或二维数组
      

  3.   

    解决方案:  private void Export(string FileType, string FileName)
      {
      Response.Charset = "GB2312";
      Response.ContentEncoding = System.Text.Encoding.UTF7;
      Response.AppendHeader("Content-Disposition","attachment;filename="+HttpUtility.UrlEncode(FileName,Encoding .UTF8).ToString());
      Response.ContentType = FileType;
      GridView1.AllowPaging=false;
      this.EnableViewState = false;
      StringWriter tw = new StringWriter();
      HtmlTextWriter hw = new HtmlTextWriter(tw);
      GridView1.RenderControl(hw);
      Response.Write(tw.ToString());
      Response.End();
      GridView1.AllowPaging=true; 
      }
      

  4.   

    应该是你在GridView1.RenderControl(hw);
    绑定的问题。
      

  5.   

    Response.Write(tw.ToString());  那你这里就写成 输出所有的值的咯!