2010-03-31 4 views

Répondre

0

Vous pouvez envisager de créer une deuxième page qui affiche les données dans la grille mais avec la pagination désactivée. De cette façon, toutes les données seront exportées vers Excel

0

Si vous récupérez tous les enregistrements de la base de données et que vous les stockez localement, vous pouvez envisager d'exporter les données de cette source. pas de la grille de données comme Paging est implémenté il contient sur les enregistrements de la taille de la page.

0

// Exporter le jeu de données réelles

  if (rds != null && rds.Tables.Count != 0) 
      { 

       #region WriteToTheStringBuilder 
       DataTable dt = rds.Tables[0]; 
       StringBuilder str = new StringBuilder(); 
       //first add the column names 
       for (int j = 0; j <= dt.Columns.Count - 1; j++) 
       { 
        //comm -- remove only one tab if exists from each cell 
        str.Append (dt.Columns[j].ToString() + "\t"); 
       } 
       str.AppendLine(); 
       //comm -- than add by row the whole table 

       for (int i = 0; i <= dt.Rows.Count - 1; i++) 
       { 
        for (int j = 0; j <= dt.Columns.Count - 1; j++) 
        { 
         //comm -- remove only one tab if exists from each cell 
         str.Append (Utils.Str.Str.FindAndReplace (
                         dt.Rows[i][j].ToString(), "(.*)(\t)(.*)", "$1$3") + "\t"); 
        } 

        str.AppendLine(); 
       } 
       #endregion WriteToTheStringBuilder 


       #region WriteToResponse 
       //<source>http://geekswithblogs.net/brcraju/archive/2005/07/27/48372.aspx</source> 
       HttpContext.Current.Response.Clear(); 
       HttpContext.Current.Response.ClearContent(); 
       HttpContext.Current.Response.ClearHeaders(); 
       HttpContext.Current.Response.Buffer = true; 
       HttpContext.Current.Response.ContentType = "application/vnd." + fileExtension; 
       //HttpContext.Current.Response.Write(@"<!DOCTYPE HTML PUBLIC ""-//W3C//DTD HTML 4.0 Transitional//EN"">"); 

       #region IftheExportingServerIsBehindFirewall 
       bool flagUseDnsRemapping = false; 
       flagUseDnsRemapping = Convert.ToBoolean(Convert.ToInt16(Resources.GV.UseSecureConnection)); 

       if (flagUseDnsRemapping == true) 
        HttpContext.Current.Response.AddHeader("Host", Resources.GV.ServerDNSName); 

       #endregion IftheExportingServerIsBehindFirewall 
       HttpContext.Current.Response.AddHeader("content-disposition", 
       "attachment;filename=" + pageName + "." + fileExtension); 
       HttpContext.Current.Response.Charset = " "; //utf will brake thinks ... 
       HttpContext.Current.Response.ContentEncoding = System.Text.Encoding.GetEncoding("windows-1250"); //windows-1250 
       //HttpContext.Current.Response.Cache.SetCacheability (HttpCacheability.NoCache); 

// System.IO.StringWriter stringWrite = new System.IO.StringWriter(); // System.Web.UI.HtmlTextWriter htmlWrite = // new HtmlTextWriter (stringWrite); HttpContext.Current.Response.Write (str.ToString()); HttpContext.Current.Response.Flush(); HttpContext.Current.Response.End(); #endregion WriteToResponse

   userObj.Mc.Msg = "Export to Excel performed successfully "; 
       return true; 
      } //eof if 
Questions connexes