Accueil du site > Les articles > Générer un fichier excel au format xml
Version à imprimer Enregistrer au format PDF

Générer un fichier excel au format xml

Une solution pratique pour exporter vers excel vos données au format xml

lundi 11 décembre 2006, par David Malle Visites  9839 Première mise en ligne le mardi 17 janvier 2006.

Vous pouvez sauvegarder une feuille excel au format XML. Cela veut dire, que ... vous pouvez créer un fichier de type texte avec les données au format XML et avec l’extension XML, pour qu’à l’ouverture du fichier par un double clique, il s’ouvre sous ... Excel ! Et facilement avec cela. Cet article aborde l’export des données provenant de l’AS400 vers excel, en maitrisant cet export via n’importe quel langage ? En générant un fichier au format XML !


Les Etapes

1ère étape :
- Créez une feuille excel minimum telle que vous souahitez l’obtenir au final.
- Sauvegardez là au format XML.
- Ouvrez là avec un éditeur de texte pour voir la syntaxe.
- Epurez les instructions qui ne vous seront pas utiles, si vous ne souhaitez pas aller jusqu’à une mise en forme poussée.
- Il vous est possible de tout faire (créer une feuille avec plusieurs onglets, mettre en forme le texte, les tailles de colonnes, ...)

2nde étape :
- Ecrire votre programme sur AS400 qui extrait vos données et créer un fichier de type où vous les stockez au format XML attendu par Excel.
- Attention : Majuscules, minuscules, tout à de l’importance.
- Cela est tout de même un peu fastidieux.

Exemple

Un fichier PMFCODPF comportant les colonnes suivants :
- C01, le code de la table
- C02, la clé associée au code C01
- C10, le libellé associé à la clé C02
- C30, Un commentaire associé à la clé C02

Le but

- Créer une feuille Excel de un onglet nommé "PMFCODPF, LES CODES ET LES CLES",
- Qui contiendra toutes les codes tables et clés associés pour les code tables commençant par ’TAB’.

Le moyen

Un programme (ici écrit en ADELIA 400, écrit rapidement, mais c’est juste pour l’exemple) :
- Qui génère un fichier (créé à la volée dans QTEMP) qui contiendra les données au format XML. Ici, le codage XML est géré en dur dans le programme. Il est préférable d’en stocker le contenu dans un fichier de paramétrage pour qu’il soit réutilisable.
- Qui transfert ce fichier dans l’IFS ( dans notre exemple : /HOME/REP/PARAMETRAGE.xml)

Et après

On peut faire un peu plus complexe :
- Stocker dans un fichier de paramétrage le contenu de la feuille xml à obtenir, en incluant des variables de la forme $SOCIETE, $USER que vous remplacerez par leur valeur réelle lors de la construction du fichier final.
- Envoyer le fichier par email à la fin du traitement. Voir l’article Envoi d’un email avec fichier joint en 3 étapes.
- Paramétrer les apparences que l’on veut obtenir (couleurs, gras, bordures, ...)
- Répartir les données sur plusieurs onglets
- ...

Astuces

- Problème avec les caractères accentués en ouvrant sous Excel : n’oubliez pas le codage de caractères suivant en début de fichier XML : <?xml version="1.0" encoding="iso-8859-1"?>

Documents joints