comment créer et télécharger un document Excel en utilisant asp.net
La façon de créer et de télécharger le document excel à l'aide de asp.net ?
Le but est d'utiliser xml, linq ou que ce soit pour envoyer un document excel à un client par l'intermédiaire d'un navigateur.
Edit : cas d'Utilisation
Le client charge un gridview ( avec ajax ) dans un navigateur, le contrôle gridview est directement liée à une base de données sql.
J'ai mis un bouton "exporter vers excel" pour permettez à vos clients d'enregistrer ce gridview données sur son ordinateur ansd je voudrais lancer un nettoyage de téléchargement d'un fichier excel.
Les solutions proposées ici ne sont pas propres, comme envoyer un document html et modifier l'en-tête de document excel etc, je suis à la recherche d'une solution simple sur codeplex droit maintenant, je vais vous laisser savoir.
source d'informationauteur belaz
Vous devez vous connecter pour publier un commentaire.
Kit de démarreur de
D'abord, j'ai téléchargé le Format Open XML SDK 2.0.
Il est livré avec 3 outils utiles dans :
C:\Program Files\Format Open XML SDK\V2.0\outils
DocumentReflector.exe
qui autogénérer le c# pour créer un
feuille de calcul à partir du code.
OpenXmlClassesExplorer.exe
affichageSpécification Ecma et la classe
de la documentation (à l'aide de MSDN style
format).
OpenXmlDiff.exe
comparer graphiquementdeux fichiers Open XML et de recherche pour
erreurs.
Je suggère à quiconque de commencer à renommer .xlsx à .zipde sorte que vous pouvez voir les fichiers XML qui conduisent notre feuille de calcul ( pour l'exemple nos feuilles sont en "xl\feuilles de calcul" ).
Le code
Avertissement : j'ai volé tout le code à partir d'un article technique MSDN ;D
Le code suivant utilisation d'un *.xlsx modèle je l'ai fait manuellement pour être en mesure de le modifier.
Les espaces de noms les références
Je n'ai pas encore fini, mon deuxième travail consiste à télécharger la feuille de calcul après modification.
Enfin, je rediriger l'utilisateur vers mon généré spredsheet (à partir de mon aspx)
juste des réponses.ContentType = "application/vnd.ms-excel" et votre page sera rendu comme une feuille excel sur le navigateur client
Exemple de code ici
Il y a assez peu de moyens, de la manipulation, en fonction de l'étendue de la fonctionnalité Excel est. Binoj la réponse de travaux si le Excel est une feuille de calcul et n'a pas de direct Excel fonctionnalité intégrée. Le client peut ajouter des fonctionnalités, concats, etc. Ce sont des "muets" excel docs jusqu'à ce que le client ne soemthing.
Pour créer un plus complet Excel doc, vous havve deux choix de base que je peux penser de la main gauche.
Utiliser les composants de microsoft office (re: mauvaise) pour créer un document excel, ou un tiers de la composante, comme SoftArtisan de ExcelWriter. Grande composante, mais il y a un coût.
Utiliser un contrôle sur la page qui vous permet d'exporter vers Excel. La plupart des fournisseurs de ASSP.NET les contrôles ont cette fonctionnalité sur leurs réseaux.
Option #1 permet vous avez à peu près toutes les fonctionnalités d'Excel. L'Option n ° 2 est un peu plus limitée, au moins dans les contrôles, j'ai essayé.
Bon article sur la façon d'exportation vers excel à partir d'Erika Ehrli
http://blogs.msdn.com/erikaehrli/archive/2009/01/30/how-to-export-data-to-excel-from-an-asp-net-application-avoid-the-file-format-differ-prompt.aspx