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 :

Site cours Crypto-monnaies

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

 

ASSURONS-NOUS DE LA PRESENCE DE L’ONGLET « DEVELOPPEUR »

Pour accéder aux fonctionnalités XML proposées par EXCEL, il est nécessaire que l’onglet « Développeur » soit présent dans le ruban EXCEL :

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 » :

 CONSTITUONS LA FEUILLE DE DONNEES A EXPORTER

Soit la feuille EXCEL constituée des données à exporter suivante :

 (Cliquer sur l’image pour télécharger le fichier EXCEL)

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:

Q