Export CSV personnalisé – Episode 4

Suite de la saga « Export CSV personnalisé« . Dans cet épisode, on va voir comment sélectionner les colonnes à exporter, et, éventuellement comment personnaliser les titres de ces colonnes.

Résumé des épisodes précédents

Avant de lire la suite, pensez à consulter ces articles du Grenier :

Définir les champs à exporter

Dans les exemples précédents, tous les champs de la table (sauf OLE) étaient exportés systématiquement, grâce à la propriété ExportAllFields = True. Mais vous pouvez aussi choisir les champs à exporter, et leur ordre. Voici une méthode pour le faire rapidement :

  • Si vous souhaitez exporter seulement certaines colonnes, oubliez cette fois le paramètre ExportAllFields = True.
  • Les champs utiles sont listés dans le tableau varFields. Vous y définissez à la fois les champs à exporter et l’ordre de ces champs dans le fichier CSV.
  • Ensuite, une boucle crée autant d’objets CSVField que de champs, et ajoute ces objets à la classe principale CSVExport (la variable ce).

Le résultat obtenu cette fois est :

"Nom Client";"Prénom Client";"Email";"Téléphone personnel"
"KUNTZ";"Anne";"mailto:anne.kuntz@orange.fr";"03 11 12 13 14"
"DELISLE";"Marie";"mailto:marie.delisle@sfr.fr";"01 07 08 09 10"
"LAMARK";"Paul";"mailto:paul.lamark@free.fr";"02 10 11 12 13"
"MARTIN";"Yves";"mailto:yves.martin@free.fr";"05 11 12 13 14"
"KELLER";"Maxime";"mailto:maxime.keller@free.fr";
"HERMAND";"Marc";"mailto:marc.hermand@sfr.fr";"04 08 09 10 11"
"EOLE";"Rémi";"mailto:remi.eole@free.fr";"05 12 13 14 15"

Personnaliser les titres de colonnes

Comme vous choisissez chaque champ à exporter, vous pouvez éventuellement renommer les colonnes. Il suffit de renseigner la propriété Label de la classe CSVField. Exemple :

Résultat obtenu (notez la première ligne de titres) :

"Nom";"Prénom";"Email";"Téléphone"
"KUNTZ";"Anne";"mailto:anne.kuntz@orange.fr";"03 11 12 13 14"
"DELISLE";"Marie";"mailto:marie.delisle@sfr.fr";"01 07 08 09 10"
"LAMARK";"Paul";"mailto:paul.lamark@free.fr";"02 10 11 12 13"
"MARTIN";"Yves";"mailto:yves.martin@free.fr";"05 11 12 13 14"
"KELLER";"Maxime";"mailto:maxime.keller@free.fr";
"HERMAND";"Marc";"mailto:marc.hermand@sfr.fr";"04 08 09 10 11"
"EOLE";"Rémi";"mailto:remi.eole@free.fr";"05 12 13 14 15"

Vous aimerez aussi...

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *