Nous faisons cela dans quelques-unes de nos applications. Ce n'est vraiment pas difficile: Nous utilisons la même page aspx (nous lui envoyons un paramètre pour indiquer que nous voulons un fichier excel généré à partir de l'aspx), avec quelques lignes de code qui font que l'aspx est généré en fichier xls.
Les premières lignes de code dans la méthode Page_Load devrait être:
//open as excell file
Response.Buffer = true;
Response.ContentType = "application/vnd.ms-excel";
string FileName = this.Page.ToString().Replace("ASP.", "") + ".xls"; // so the file can be saved as excel
Response.AppendHeader("content-disposition", "filename=\"" + FileName + "\";attachment");
Il est important que dans ce mode, vous assurez-vous de désactiver ViewState. Sinon, il pourrait complètement confondre Excel et générer des erreurs.
C'est tout ce que nous faisons, et cela fonctionne à merveille.
Je dois ajouter que la recommandation de Microsoft est d'écrire le GridView dans un HtmlTextWriter lors de l'exportation vers Excel, afin de s'assurer que le HTML généré est celui que Excel comprendra.Il est facile à faire (sauf pour une exception qui est généré, mais il est facile à surmonter), et est expliqué bien dans ces 2 articles: Gridview Export to Excel et Extensive Study of GridView Export to Excel
connexes: http: //stackoverflow.com/questions/150339/Génération-un-excel-fichier-dans-asp-net –