以下是我将Repeater中的数据导出到excel的代码,但是只能导出Repeater当前页的,各位大哥有没有办法将Repeater中的全部内容导出
  StringBuilder sb = new StringBuilder();
        StringWriter sw = new StringWriter(sb);
        HtmlTextWriter htw = new HtmlTextWriter(sw);        Page page = new Page();
        HtmlForm form = new HtmlForm();        Repeater1.EnableViewState = false; 
        page.EnableEventValidation = false;        page.DesignerInitialize();        page.Controls.Add(form);
        form.Controls.Add(Repeater1);
        page.RenderControl(htw);        Response.Clear();
        Response.Buffer = true;
        Response.ContentType = "application/ms-excel";
        Response.AddHeader("Content-Disposition", "attachment;filename=" + HttpUtility.UrlEncode("Test.xls", Encoding.UTF8).ToString());
        Response.Charset = "UTF-8";
        Response.ContentEncoding = Encoding.Default;
        Response.Write(sb.ToString());
        Response.End();

解决方案 »

  1.   

    设置允许分页为false,然后重新绑定,再导出
      

  2.   

    如果你的页面用户访问量不大的话,你可以再在你的页面放一个隐藏的Repeater控件,这个控件不设置它的分页,然后导出到excel的数据源就从这个repeater中取吧
      

  3.   

    那还不如直接查询全部返回DataTable呢
      

  4.   

    怎么解决的 我还没有看到问题实际的解决结果呢 是不是又加了repeater啊???