Comment puis-je exporter les données de ma webapp vers une feuille Excel à partir d'ASP.NET (VB.NET, SQL 2005)?Comment puis-je exporter ma page ASP.NET vers Excel?
Répondre
changer la contenttype de votre page ASP.Net
Response.ContentType = "application/ms-excel"
Reporting Services SQL Server serait la meilleure façon d'exporter des données à partir d'une application dans Excel. Si vous n'avez pas accès à/ne souhaitez pas utiliser les services de reporting en fonction des données que vous souhaitez extraire/formater en utilisant éventuellement une structure CSV au lieu d'Excel, cela peut être plus facile.
Utilisez les dll Microsoft.Office.Interop.Excel pour créer des fichiers Excel avec vos données et fournir des liens pour télécharger les fichiers en utilisant la méthode de téléchargement de Hunter Daley ...
En tant que solution générale, vous voudrez peut-être envisagez d'écrire le gestionnaire (ashx) pour l'exportation - et transmettez les paramètres de requête pour recréer la requête afin de générer les données ou un identificateur pour récupérer les données du cache (s'il est mis en cache). Selon que CSV est suffisant pour votre exportation Excel, vous pouvez simplement formater les données et les renvoyer, en définissant le ContentType comme suggéré par @Hunter ou utiliser les assemblys d'interopérabilité primaires (qui nécessiteraient Excel sur le serveur) pour construire une véritable feuille de calcul Excel. le sérialiser vers le flux de réponse.
Je préfère utiliser une chaîne de connexion OLEDB.
Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Excel.xls;Extended Properties="Excel 8.0;HDR=Yes;IMEX=1";
Vous ne savez pas sur l'exportation d'une page, mais si vous voulez juste d'exporter un jeu de données ou datatable
HttpContext.Current.Response.Clear()
HttpContext.Current.Response.AddHeader("content-disposition", String.Format("attachment; filename={0}", fileName))
HttpContext.Current.Response.ContentType = "application/ms-excel"
Dim sw As StringWriter = New StringWriter
Dim htw As HtmlTextWriter = New HtmlTextWriter(sw)
Dim table As Table = New Table
table.RenderControl(htw)
' render the htmlwriter into the response
HttpContext.Current.Response.Write(sw.ToString)
HttpContext.Current.Response.End()
Un de mes blogs les plus populaires est comment générer un document Excel à partir du code .NET, en utilisant le balisage XML Excel (ce n'est pas OpenXML, il est XML standard Excel) - http://www.aaron-powell.com/linq-to-xml-to-excel
je créer un lien aussi large à un moyen plus facile de le faire avec VB 9.
Bien que ce soit le code .NET 3.5, il pourrait facilement être fait en .NET 2.0 en utilisant XmlDocument et en créant les nœuds de cette façon.
Ensuite, il suffit de définir les bons en-têtes de réponse et de les renvoyer en continu dans la réponse.
La démo VB9 est géniale! – JBRWilkinson
Juste une note, mais ce lien n'est plus valide ... –
@KyleC fixe, il utilisait l'URL de mon ancien blog –
SpreadsheetGear pour .NET le fera. Vous pouvez trouver un tas d'exemples ASP.NET en direct avec C# & source VB.NET sur this page.
Disclaimer: Je possède SpreadsheetGear LLC
J'utilise presque exactement le même code que CodeKiwi. Je l'utiliserais si vous avez un DataTable et que vous voulez le diffuser dans le navigateur client. Si vous voulez un fichier, vous pouvez également faire une simple boucle à travers chaque ligne/colonne, créer un fichier CSV et je suppose fournir un lien vers le client - vous pouvez utiliser une extension de fichier CSV ou XLS. Ou si vous diffusez le fichier résultant au client, il les invitera à l'ouvrir ou à l'enregistrer sur le disque. Les interops sont (bien que la dernière fois que je les ai essayés) parfaits pour les petits jeux de données, mais n'ont pas bien évolué - horriblement lent pour les jeux de données plus volumineux.
Si vous pouvez afficher vos données dans un contrôle GridView, il prend en charge de façon inhérente "clic droit -> Exporter vers Excel" sans avoir à écrire du code.
- 1. Exporter vers Excel dans Asp.net MVC
- 2. Exporter vers Excel
- 3. Exporter Gridview avec l'image vers Excel - Problème
- 4. Exporter Gridview vers Excel/contenu supplémentaire
- 5. Exporter le jeu de données vers Excel
- 6. Exporter vers Excel à partir d'un répéteur?
- 7. Excel Exporter dans ASP.NET + VB.NET Bug
- 8. Comment exporter dataagridview vers Excel en utilisant vb.net?
- 9. Exporter vers Excel Fom DataGrid VB.Net Application Windows
- 10. Rave Rapports exportant vers Excel
- 11. Telerik RadGrid Exporter vers Excel. Opérande manquant avant l'opérateur '='
- 12. Silverlight Exporter Datagrid vers Excel (sans aller-retour)
- 13. GridView avec des champs ITemplate exporter vers Excel
- 14. Exporter Gridview vers Excel avec des lignes au format texte
- 15. Exporter vers Excel à partir de Crystal Reports sans en-têtes/pieds de page
- 16. ReportViewer "Exporter vers Excel" ajoute des valeurs décimales aux pourcentages. Comment puis-je remplacer cela?
- 17. Page d'exportation qui inclut des images vers Excel
- 18. Delphi - Comment exporter un rapport rave à Excel
- 19. Exporter null vers .csv
- 20. Comment exporter des données depuis une liste <T> vers un fichier Excel?
- 21. Exporter un classeur Excel incorporé dans une diapositive PowerPoint vers Excel
- 22. Quel contrôle a posté ma page? (Page ASP.NET)
- 23. Comment exporter depuis MySQL vers un fichier Excel sur mon site PHP?
- 24. Comment exporter des tickets Trac vers MS Excel, y compris la description du ticket, avec formatage?
- 25. Comment puis-je exporter les données dans une donnée DataGridView vers une feuille de calcul Excel?
- 26. Comment exporter un rapport de services de rapports vers Excel avec des calculs intégrés dans les colonnes Excel?
- 27. Comment exporter des colonnes de texte 'lookal date' vers csv
- 28. Exporter Datagrid vers un xml
- 29. comment diviser ma page web asp.net en 2 pages?
- 30. comment enregistrer ma DLL dans Excel 2007
Il convient également de noter que certaines personnes (GASP!) N'ont pas Excel, alors peut-être que vous devriez simplement le jeter dans un fichier CSV et les laisser le découvrir. – hunter
Vous voulez probablement également vous assurer que vous générez une table brute qu'Excel peut comprendre. –
Vous devez faire plus que cela. Sinon, le "document Excel" exporté inclura des liens vers des images sur votre site, des filtres, des boutons, etc – Tundey