L'exportation GridView à Excel sans perdre de lignes de la grille dans Excel

J'ai un GridView que je veux exporter vers Excel. Lorsque j'utilise l'exemple de code que j'ai trouver en ligne, il exporte le contenu de Excel, mais pour quelque raison il efface également toutes les lignes de la grille à l'extérieur de ma table exportée.

Pour la moyenne de votre utilisateur d'excel c'est assez facile à corriger, mais j'ai besoin de cette solution fonctionne pour tout le monde.

Alors est-il un moyen d'exporter les données dans un contrôle GridView dans un Classeur Excel de sorte qu'on dirait qu'il a été tapé juste dans Excel? Je l'ai collé le code, je suis en utilisant ci-dessous, supposons qu'un GridView appelé toPrint existe et a des données précises.

Response.Clear();
Response.AddHeader("content-disposition", "attachment; filename=" + name + "_Registration_Forms.xls");
Response.Charset = "";
Response.ContentType = "application/vnd.ms-excel";
Page.EnableViewState = false;

System.IO.StringWriter stringWrite = new System.IO.StringWriter();
System.Web.UI.HtmlTextWriter htmlWrite = new HtmlTextWriter(stringWrite);

toPrint.RenderControl(htmlWrite);

Response.Write(stringWrite.ToString());
Response.End();

EDIT: Trouvé une solution partielle. Si je l'exportation comme une liste séparée par des virgules et définir l'en-tête d'un fichier CSV, il ouvre fine et toutes les lignes de la grille (même ceux en dehors de l'exportation de données) sont à l'affiche. Le seul problème avec cela est bien sûr d'avoir à sortir la bande chaque virgule et le caractère de saut de ligne à partir de mes valeurs avant de les exporter.

La méthode ci-dessus génère un code HTML formaté tableau Excel qui fait "brillamment" pour analyser et afficher dans presque l'exacte réplique. Je ne sais pas si il y a une solution pour elle, mais si le formatage n'est pas si important que cela, de sortie CSV peut être une bonne alternative.
pour ceux qui seraient intéressés, o.k.w le commentaire que j'y suis allé. Il n'est pas parfait parce que maintenant j'ai de la bande des virgules à partir du contenu que je suis l'exportation, mais à la fin, les utilisateurs préfèrent cette approche.
vous pouvez essayer d'utiliser le caractère de tabulation au lieu d'une virgule pour séparer les valeurs

OriginalL'auteur Justin C | 2010-03-04