EXPORTER LE CONTENU D'UN DATAGRIDVIEW VERS EXCEL OU N IMPORTE QUELLE AUTRE FICHI

Signaler
Messages postés
13280
Date d'inscription
lundi 13 décembre 2004
Statut
Modérateur
Dernière intervention
3 février 2018
-
Messages postés
463
Date d'inscription
vendredi 15 août 2003
Statut
Membre
Dernière intervention
21 avril 2010
-
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/50445-exporter-le-contenu-d-un-datagridview-vers-excel-ou-n-importe-quelle-autre-fichier-tabule

Messages postés
463
Date d'inscription
vendredi 15 août 2003
Statut
Membre
Dernière intervention
21 avril 2010

csv<>xls!
Messages postés
5
Date d'inscription
mardi 19 avril 2011
Statut
Membre
Dernière intervention
12 juin 2011

bonjour
je ne souhaite pas fusionner car je veux mettre la datagrid1 dans la feuille1 du csv et le datagrid2 dans la feuille2 du meme csv

Actuellement j'ai refais la même boucle for que toi pour ma deuxième grille mais lorsque j'ouvre mon excel il écrase la grille1 par la grille2 (normal!)

peux tu m'aider car je ne sais pas comment créer une nouvelle feuille dans le csv pour ma grille2 ?
Messages postés
463
Date d'inscription
vendredi 15 août 2003
Statut
Membre
Dernière intervention
21 avril 2010

soit tu fusionne, soit tu fait ça a la volée en modifiant la boucle ....
Messages postés
5
Date d'inscription
mardi 19 avril 2011
Statut
Membre
Dernière intervention
12 juin 2011

super, le code est super rapide (contrairement au mien)

par contre peux tu m'aider a remplir 2 datagridview dans le même .csv (datagrid1 dans la grille 1 et le datagrid2 dans la grille 2) ?

merci d'avance
Messages postés
17
Date d'inscription
jeudi 21 août 2008
Statut
Membre
Dernière intervention
10 septembre 2011

Pour celui que souhaite connaître la suite.
Il y une petite astuce.
Creer une deuxieme table avec le champ "image", supprimer le champ "image" de la table 1. reliez la table 2 à la source.
Amicalement
Messages postés
463
Date d'inscription
vendredi 15 août 2003
Statut
Membre
Dernière intervention
21 avril 2010

Vraiment désoler padawan, je manque cruellement de temps, il ne te reste plus qu'a forger, bon courage.
Messages postés
17
Date d'inscription
jeudi 21 août 2008
Statut
Membre
Dernière intervention
10 septembre 2011

surfzoid,
juste une petite precision, dans le datagrid j'ai besoin d'avoir une image par contact.
Pour le code ,y a t'il moyen d'indiquer de ne pas prendre la colonne "Photo" lors de l'export CSV. Merci
Messages postés
17
Date d'inscription
jeudi 21 août 2008
Statut
Membre
Dernière intervention
10 septembre 2011

Bonjour surfzoid,
Je tiens à te remercier pour ton aide.
Je démarre seulement mon apprentissage avec visual basic.
STP, pourrais-tu me noter le bout de code, car je ne suis + que débutant.
Merci encore. Cordialement
Messages postés
463
Date d'inscription
vendredi 15 août 2003
Statut
Membre
Dernière intervention
21 avril 2010

Une autre solution pourrait consisté a utiliser un fichier ressource, comme ont le fait avec l'outil de traduction MS VS
Messages postés
463
Date d'inscription
vendredi 15 août 2003
Statut
Membre
Dernière intervention
21 avril 2010

Bonsoir
Merci Sachap:-)
mdegremo : le CSV est du string, une image est du binaire, il te faut donc créer un répertoire, par exemple dans celui ou le fichier csv seras enregistrer, dans ce répertoire, stocker toute les images, avec une forme index, et dans le fichier csv, au niveau de la colonne tu mets le nom du fichier !!
Messages postés
2
Date d'inscription
mercredi 24 décembre 2003
Statut
Membre
Dernière intervention
4 janvier 2011

et voici la note!!!!!!!!
Messages postés
17
Date d'inscription
jeudi 21 août 2008
Statut
Membre
Dernière intervention
10 septembre 2011

Bonjour

dans le cas ou j'intègre une colonne "image" en plus des colonnes traditionnels.

Quel code dois-je ajouter pour pouvoir continuer à exporter en CSV.

Merci d'avance
Messages postés
463
Date d'inscription
vendredi 15 août 2003
Statut
Membre
Dernière intervention
21 avril 2010

Merci Sachap, libre a toi de noter :-)
Messages postés
2
Date d'inscription
mercredi 24 décembre 2003
Statut
Membre
Dernière intervention
4 janvier 2011

Simple et efficace!!!! merci beaucoup pour ce code!
Messages postés
463
Date d'inscription
vendredi 15 août 2003
Statut
Membre
Dernière intervention
21 avril 2010

Une petite remarque sur les performances, comme ont le sait, travailler directement sur les objets est moins performants et peut être gênant sur du multithread, donc il sera préférable de faire l'itération, de la même façon que dans l'exemple, sur un DataTable qui sera liée au DataGridView via un un DataSet par exemple.

Dans le cas de plusieurs millier de lignes, cela restera malgré tout relativement pauvre en performances, je ne me souvient plus exactement comment, mais il me semble que dans l'un de mes codes au boulot, j'avais directement travailler sur les colonnes, et donc récupérer 3 tableau si on garde l'exemple de 3 colonnes.
Messages postés
463
Date d'inscription
vendredi 15 août 2003
Statut
Membre
Dernière intervention
21 avril 2010

J y avait penser, mais même si le résultat est identique, il y a le fait que l'ancienne source reste pour du VS 2003 ("obsolète"?) avec une DataGrid (et pas une DataGridView) et que celle ci utilise une DataGridView avec VS 2008, subtile :-)
Messages postés
13280
Date d'inscription
lundi 13 décembre 2004
Statut
Modérateur
Dernière intervention
3 février 2018
35
pour une soixantaine de lignes, autant mettre à jour l'ancienne source non?..