La technologie XML s’est imposée dans beaucoup de secteur de l’écononomie (banque, industrie…) comme moyen priviligé d’échange de données entre systèmes hétérogènes.
Ce tutoriel montre, pas à pas, comment exporter les données d’une feuille EXCEL vers un fichier au format XML.
Ce tutoriel ne couvre pas l’intégralité du sujet. Son objectif est de fournir les bases nécessaires à l’utilisation des fonctionnalités spécifiques XML disponibles dans EXCEL (depuis sa version 2010).
(Les copies-écrans de ce tutoriel ont été réalisées avec EXCEL version Business 365)
EXPLORONS LA STRUCTURE D’UN FICHIER XML
Les fichiers XML (eXtensible Markup Language) se conforment à un ensemble de normes et recommandations publiées par le W3C : https://www.w3.org/XML/.
Toutes les données des fichiers XML sont insérées à l’intérieur de balises (tags) ; ces balises sont repérables par les signes «< > » qui les encadrent.
Examinons le fichier XML exemple ci-dessous :
Remarquons que chaque donnée (par exemple ‘Eve’) est insérée dans des balises : l’une ouvrante (par exemple <Mère>) et l’autre fermante (par exemple </Mère>).
Relevons que les fichiers XML sont beaucoup plus « bavards » que les fichiers plats classiques : l’espace nécessaire au stockage des balises peut s’avérer bien supérieur à l’espace nécessaire au stockage des données elles-mêmes.
Mais, la souplesse et la rigueur apportées par la technologie XML ainsi que les capacités de stockage des données de plus en plus considérables, justifient largement son utilisation.
EXPLIQUONS CE QU’EST UN SCHEMA XML (XSD)
Avant d’examiner les fonctionnalités XML proposées par EXCEL, il est nécessaire de comprendre l’importance des schémas XML: les XSD.
Les schémas XML (XSD) permettent de décrire la structure et les typologies des données contenues dans un fichier XML ainsi que, éventuellement, les contraintes imposées aux valeurs que peuvent prendre ces données. Un schéma XML permet de vérifier la validité des fichiers XML qui s’y réfèrent.
Pour ce tutoriel, utilisons un XSD simple définissant les caractéristiques de fichiers XML stockant un catalogue d’articles comportant les colonnes Code_Article/Description/Date_Achat/Prix_Cession/Prix_Achat/Remise :
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="Catalogue_Articles">
<xs:complexType>
<xs:sequence>
<xs:element ref="Article" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="Article">
<xs:complexType>
<xs:sequence>
<xs:element name="Code_Article" type="xs:string"/>
<xs:element name="Description" type="xs:string"/>
<xs:element name="Date_Achat" type="xs:string" minOccurs="0"/>
<xs:element name="Prix_Cession" type="xs:decimal"/>
<xs:element name="Prix_Achat" type="xs:decimal"/>
<xs:element name="Remise" type="xs:decimal" default="0" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
Commentaires sur ce schéma XSD.
Sa structure est à deux niveaux :
- Un niveau Racine (Root) « Catalogue_Articles» indiquant une nombre indéterminé d’éléments grâce à la directive maxOccurs=”unbounded”
- Un niveau Enfant (Child) « Article » composé de 6 éléments correspondant aux 6 colonnes de notre catalogue d’articles.
Quelques caractéristiques particulières des données :
- La donnée « Date_Achat » est typée « String » et non « Date » car nous avons décidé de conserver un format de date « jj/mm/aaaa » . Le format « Date » XML étant, lui, de la forme « AAAA-MM-JJ ».
- La donnée « Remise » est déclarée comme facultative grâce aux directives default=”0″ minOccurs=”0″.
Sauvegardons cet XSD dans un fichier nommé ‘Schemas_Articles.xsd’.
Remarques concernant les XSD et EXCEL
- La version actuelle d’EXCEL impose quelques restrictions concernant les caractéristiques des schémas XML utilisables dans un classeur. Pour plus de détail, se référer à l’article de la base de connaissances microsoft : https://support.office.com/fr-fr/article/probl%C3%A8me-v%C3%A9rification-d-un-mappage-xml-pour-l-exportation-fbfcdb77-c2d6-4040-b256-e584a71151b0
- Pour une description complète du vocabulaire et de la syntaxe des schémas XML, se référer aux pages WEB : https://www.w3.org/TR/xmlschema-1/ et https://www.w3.org/TR/xmlschema-2/
- Et pour une formation complète aux notions évoquées ici, consulter les diverses pages WEB du site https://www.w3schools.com.
Si tel n’est pas le cas, procéder de la façon suivante :
- Dans le menu EXCEL, naviguer vers Fichier/Options/Personnaliser le ruban.
- Sélectionner l’onglet « Développeur » :
AJOUTONS LE SCHEMA XML DE MAPPAGE
Dans l’onglet « Développeur », cliquer sur le bouton « Source » :
Dans la fenêtre « Source XML » qui s’affiche, cliquer sur le bouton « Mappage XML » :
Puis, sur le bouton « Ajouter » :
Sélectionner le fichier .xsd précedemment sauvegardé et cliquer sur le bouton « Ouvrir »:
EXCEL demande de choisir le nœud racine. Sélectionner « Catalogue_Articles » :
Après avoir cliqué sur OK, l’arborescence du schéma XML s’affiche dans la fenêtre « Source XML »:
Pour réaliser le mappage entre les données EXCEL et le schéma XML(XSD) il suffit, au moyen de la souris, de faire glisser le nœud « Article » vers la cellule A1 de la feuille de données :
Une fois le mappage réalisé, Excel transforme automatiquement les données en un tableau structuré mappé sur le schéma XML (XSD) :
EXPORTONS LES DONNEES AU FORMAT XML
Pour exporter les données mappées vers une fichier XML, cliquer sur le bouton « Exporter » de l’onglet « Développeur » et nommer le fichier XML «Catalogue_Articles.xml» :
Le fichier « Catalogue_Articles.xml » généré présente la structure suivante:

