2010-11-09 5 views
2

J'ai une application winforms et je veux exporter des données depuis datagridview vers excel. comment ferais-je cela? merci pour toute aideC# exporter des données depuis datagridview vers excel

Je veux l'approche la plus simple.

peut-être exporter au format CSV est plus facile?

+0

S'il vous plaît voir l'article [enter description du lien ici] [1] [1]: http://stackoverflow.com/questions/8667291/how-to-export-c-sharp-datagridview-into-excel/22145663#22145663 –

Répondre

4

Vous avez un certain nombre d'options

  1. Écrivez les données dans un fichier virgule (valeurs séparées par csv)
  2. Utilisez OleDB écrire pour créer un fichier Excel et écrire les données qu'il
  3. Utilisation le SDK OOXML pour créer un fichier Excel
  4. écrire les données dans un fichier XML qui peut être lu par Excel
  5. Utilisez la bibliothèque NPOI pour créer et écrire dans le fichier Excel

Ce sont quelques options sur le dessus de ma tête. Personnellement j'irais avec NPOI, j'ai utilisé ceci dans des solutions basées sur le serveur et c'est vraiment facile de travailler avec et assez rapidement. Cependant, il ne supporte pas actuellement le format de fichier xlsx, seulement xls standard. La bibliothèque se trouve here

J'ai aussi trouvé EPPlus, soutient xlsx, mais je ne peux pas se porter garant pour elle puisque je ne l'ai pas personnellement utilisé.

0

Il existe plusieurs façons de faire une recherche sur Google. Voici un:

http://www.c-sharpcorner.com/UploadFile/hrojasara/2904/

+0

L'article lié fonctionne tant que l'utilisateur a excellé sur le machine.Si vous cherchez quelque chose de plus générique où il est exporté dans un format qui peut être importé dans Excel et ne nécessite pas l'installation d'Excel, j'irais avec la sortie XML suggérée par ChrisF. – pstrjds

+0

Si vous incluez la DLL Excel requise et l'incluez dans votre application lors de la distribution, Excel n'a pas besoin d'être installé sur l'ordinateur de l'utilisateur. –

+0

vous pouvez distribuer les PIA, mais je ne pense pas qu'ils fonctionnent sans Office installé, et en lisant le CLUF dans le PIA Office il semble que vous n'êtes pas autorisé à les installer si Office n'est pas installé. – pstrjds

2

L'approche la plus simple serait d'écrire les données dans un fichier XML, puis les importer dans Excel.

Il existe une méthode WriteXML sur la classe DataTable qui écrira également le schéma. Lorsque vous l'importerez dans Excel, tous vos en-têtes de colonnes seront également importés.

L'avantage est que vous pouvez également importer les données dans d'autres packages compatibles avec XML.

+0

Je suis d'accord, il suffit d'itérer les lignes dans une boucle foreach et d'exporter vos cellules dans un fichier xml. Cela facilitera vraiment l'importation des données dans une myriade d'emplacements. – pstrjds

+1

@pstrjds - Si vous voulez un simple vidage de données, vous n'avez même pas à parcourir vous-même les données. 'WriteXML' va tout faire pour vous. Évidemment, si vous voulez filtrer les données, vous devez faire plus de travail. – ChrisF

0

Une autre option consiste à utiliser quelque chose comme le toolkit OpenDocument pour créer une "feuille de calcul" en utilisant le format OpenDocument. De cette façon, il peut être ouvert dans Excel, OpenOffice, LibreOffice, etc.
http://odftoolkit.org/projects/aodl/downloads
Voici un lien vers des extraits de code pour la boîte à outils
http://odftoolkit.org/projects/aodl/pages/AODL-examples
Lien vers exemple la création d'une feuille de calcul
http://odftoolkit.org/projects/aodl/pages/AODL-example-1

Questions connexes