lundi 1 juillet 2013

Convertir un fichier CSV en XML avec Excel

Deux méthodes pour convertir un fichier CSV ou autre en fichier XML depuis Excel :

  1. La méthode brute : Insérer des colonnes avant et après les données qui contiendrons les noeuds xml du fichier XML final, par exemple :



    Il ne reste plus qu'à copier/coller le résultat dans un éditeur de texte et à supprimer les espaces restants avec des rechercher/remplacer complexes. Pas élégant mais rempli son office.

  2. La méthode normale : Utiliser les outils XML d'Excel

    la procédure complète est disponible dans l'article suivant : Créer un fichier de données XML et un fichier de schéma XML à partir des données d’une feuille de calcul. Pour résumer :


    1. Télécharger et installer Excel 2003 Add-in: XML Tools Add-in
    2. Installer le module via Fichiers > Options > Compléments > Compléments Excel (en bas) > "Atteindre..." > "Parcourir..." pour aller chercher le fichier XmlTools.xla
    3. Une fois fait, Un menu "XML Tools" est accessible dans l'onglet "Compléments"


    4. Cliquer sur "Convert a Range to an XML List...", sélectionner la plage concernée (Cette plage deviendra un tableau Excel, l'opération ne pourra donc pas se refaire. Il faudra, pour recommencer, repartir d'une plage de cellule non formatée)


    5. "OK" et là, erreur!! Il faut corriger une erreur présente dans la macro de l'outil
    6. Rechercher/Remplacer la valeur DOMDocument50 par DOMDocument dans l'éditeur VBA


    7. re"OK" et là, ça marche! Le mappage XML est réalisé, il ne reste plus qu'à faire "Enregistrer sous..." au format Données XML
La deuxième méthode étant, bien sûr, la plus conseillée :)