Pour importer et exporter des données XML dans Excel, utilisez une carte XML qui associe les éléments XML aux données des cellules. Cette association vous aide à obtenir les résultats souhaités. Pour créer une carte XML, vous avez besoin d’un fichier de schéma XML (.xsd) et d’un fichier de données XML (.xml). Après avoir créé le mappage XML, vous pouvez mapper des éléments XML comme vous le souhaitez.
Conseil
Pour plus d’informations sur l’utilisation de XML avec Excel, consultez la présentation de XML dans Excel.
- Rechercher ou créer un schéma XML et des fichiers de données XML
- Utiliser un exemple de schéma XML et de fichiers de données XML
- Créer une carte XML
- Mapper des éléments XML
Remarque
Excel pour Windows Desktop est la seule version qui offre des fonctionnalités de mappage XML. Ces outils ne sont pas disponibles dans Excel pour Mac ou Excel sur le Web.
Les cartes XML sont une fonctionnalité héritée. Dans de nombreux cas, utilisez Power Query dans Excel pour importer et transformer des données XML, en particulier pour les structures XML complexes ou imbriquées.
Rechercher ou créer un schéma XML et des fichiers de données XML
Si une autre base de données ou application a créé un schéma XML ou un fichier de données XML, il se peut que ceux-ci soient déjà disponibles. Par exemple, vous pouvez disposer d’une application métier qui exporte des données dans ces formats de fichiers XML, d’un site web commercial ou d’un service web qui fournit ces fichiers XML, ou encore d’une application personnalisée développée par votre service informatique qui crée automatiquement ces fichiers XML.
Si vous ne disposez pas des fichiers XML nécessaires, vous pouvez les créer en enregistrant les données que vous souhaitez utiliser en tant que fichier texte. Vous pouvez ensuite utiliser Access et Excel pour convertir ce fichier texte en fichiers XML dont vous avez besoin. Voici comment procéder :
Access
Importez le fichier texte que vous souhaitez convertir et liez-le à une nouvelle table.
- Sélectionnez Fichier>Ouvrir.
- Dans la boîte de dialogue Ouvrir , sélectionnez et ouvrez la base de données dans laquelle vous voulez créer une table.
- Sélectionnez lefichier textede données> externes, puis suivez les instructions de chaque étape, en veillant à lier la table au fichier texte.
Access crée la nouvelle table et l’affiche dans le volet de navigation.
Exportez les données de la table liée vers un fichier de données XML et un fichier de schéma XML.
- Sélectionnez Données> externesAutre>fichier XML (dans le groupe Exporter).
- Dans la boîte de dialogue Exporter - Fichier XML , spécifiez le nom et le format du fichier, puis sélectionnez OK.
Quittez Access.
Excel
-
Créez une carte XML basée sur le fichier de schéma XML que vous avez exporté à partir d’Access.
Si la boîte de dialogue Racines multiples s’affiche, veillez à choisir racine de données pour pouvoir créer une table XML. - Créez une table XML en mappant l’élément de racine de données . Voir Éléments XML de la carte pour plus d’informations.
- Importez le fichier XML que vous avez exporté à partir d’Access.
Vous pouvez également utiliser Power Query pour importer directement des données XML sans créer de fichier de schéma XML.
Remarque
- Il existe plusieurs types de constructions d’éléments de schéma XML non prises en charge par Excel. Les constructions d’élément de schéma XML suivantes ne peuvent pas être importées dans Excel :
- <n’importe quel> élément Cet élément vous permet d’inclure des éléments qui ne sont pas déclarés par le schéma.
- <anyAttribute> Cet élément vous permet d’inclure des attributs qui ne sont pas déclarés par le schéma.
- Structures récursives Un exemple courant de structure récursive est une hiérarchie d’employés et de gestionnaires dans laquelle les mêmes éléments XML sont imbriqués à plusieurs niveaux. Excel ne prend pas en charge les structures récursives de plus d’un niveau.
- Éléments abstraits Ces éléments sont destinés à être déclarés dans le schéma, mais jamais utilisés en tant qu’éléments. Les éléments abstraits dépendent de la substitution d’autres éléments à l’élément abstrait.
- Groupes de substitution Ces groupes permettent d’échanger un élément partout où un autre élément est référencé. Un élément indique qu’il est membre du groupe de substitution d’un autre élément via l’attribut <substitutionGroup> .
- Contenu mixte Ce contenu est déclaré en utilisant mixed="true » sur une définition de type complexe. Excel ne prend pas en charge le contenu simple du type complexe, mais prend en charge les balises et attributs enfants définis dans ce type complexe.
Utiliser un exemple de schéma XML et de fichiers de données XML
Les exemples de données suivants incluent des éléments et des structures XML de base que vous pouvez utiliser pour tester le mappage XML si vous n’avez pas de fichiers XML ou de fichiers texte pour créer les fichiers XML. Voici comment vous pouvez enregistrer ces exemples de données dans des fichiers sur votre ordinateur :
- Sélectionnez l’exemple de texte du fichier que vous voulez copier, puis appuyez sur Ctrl+C.
- Démarrez le Bloc-notes, puis appuyez sur Ctrl+V pour coller l’exemple de texte.
- Appuyez sur Ctrl+S pour enregistrer le fichier avec le nom de fichier et l’extension des exemples de données que vous avez copiés.
- Appuyez sur Ctrl+N dans le Bloc-notes, puis répétez les étapes 1 à 3 pour créer un fichier pour le deuxième exemple de texte.
- Quittez le Bloc-notes.
Exemples de données XML (Expenses.xml)
<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
<Root>
<EmployeeInfo>
<Name>Jane Winston</Name>
<Date>2001-01-01</Date>
<Code>0001</Code>
</EmployeeInfo>
<ExpenseItem>
<Date>2001-01-01</Date>
<Description>Airfare</Description>
<Amount>500.34</Amount>
</ExpenseItem>
<ExpenseItem>
<Date>2001-01-01</Date>
<Description>Hotel</Description>
<Amount>200</Amount>
</ExpenseItem>
<ExpenseItem>
<Date>2001-01-01</Date>
<Description>Taxi Fare</Description>
<Amount>100.00</Amount>
</ExpenseItem>
<ExpenseItem>
<Date>2001-01-01</Date>
<Description>Long Distance Phone Charges</Description>
<Amount>57.89</Amount>
</ExpenseItem>
<ExpenseItem>
<Date>2001-01-01</Date>
<Description>Food</Description>
<Amount>82.19</Amount>
</ExpenseItem>
<ExpenseItem>
<Date>2001-01-02</Date>
<Description>Food</Description>
<Amount>17.89</Amount>
</ExpenseItem>
<ExpenseItem>
<Date>2001-01-02</Date>
<Description>Personal Items</Description>
<Amount>32.54</Amount>
</ExpenseItem>
<ExpenseItem>
<Date>2001-01-03</Date>
<Description>Taxi Fare</Description>
<Amount>75.00</Amount>
</ExpenseItem>
<ExpenseItem>
<Date>2001-01-03</Date>
<Description>Food</Description>
<Amount>36.45</Amount>
</ExpenseItem>
<ExpenseItem>
<Date>2001-01-03</Date>
<Description>New Suit</Description>
<Amount>750.00</Amount>
</ExpenseItem>
</Root>
Exemple de schéma XML (Expenses.xsd)
<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<xsd:element name="Root">
<xsd:complexType>
<xsd:sequence>
<xsd:element minOccurs="0" maxOccurs="1" name="EmployeeInfo">
<xsd:complexType>
<xsd:all>
<xsd:element minOccurs="0" maxOccurs="1" name="Name" />
<xsd:element minOccurs="0" maxOccurs="1" name="Date" />
<xsd:element minOccurs="0" maxOccurs="1" name="Code" />
</xsd:all>
</xsd:complexType>
</xsd:element>
<xsd:element minOccurs="0" maxOccurs="unbounded" name="ExpenseItem">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="Date" type="xsd:date"/>
<xsd:element name="Description" type="xsd:string"/>
<xsd:element name="Amount" type="xsd:decimal" />
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:schema>
Créer une carte XML
Créez une carte XML en ajoutant un schéma XML à un classeur. Vous pouvez copier le schéma à partir d’un fichier de schéma XML (.xsd) ou Excel peut essayer d’en déduire un à partir d’un fichier de données XML (.xml).
Sélectionnez Source du développeur>.
Si vous ne voyez pas l’onglet Développeur, voir Afficher l’onglet Développeur.Dans le volet Office Source XML , sélectionnez Cartes XML, puis Ajouter.
Dans la liste Rechercher dans , sélectionnez le lecteur, le dossier ou l’emplacement Internet contenant le fichier que vous voulez ouvrir.
Sélectionnez le fichier, puis Ouvrir.
- Pour un fichier de schéma XML, Excel crée une carte XML basée sur le schéma XML. Si la boîte de dialogue Racines multiples s’affiche, choisissez l’un des nœuds racine définis dans le fichier de schéma XML.
- Dans le cas d’un fichier de données XML, Excel essaie de déduire le schéma XML à partir des données XML, puis crée un mappage XML.
Sélectionnez OK.
Le mappage XML s’affiche dans le volet Office Source XML .
Mapper des éléments XML
Mappez des éléments XML à des cellules mappées uniques et à des cellules répétitives dans des tableaux XML afin de créer une relation entre la cellule et l’élément de données XML dans le schéma XML.
Sélectionnez Source du développeur>.
Si vous ne voyez pas l’onglet Développeur, voir Afficher l’onglet Développeur.Dans le volet Office Source XML , sélectionnez les éléments que vous souhaitez mapper.
Pour sélectionner des éléments non adjacents, sélectionnez un élément, puis maintenez la touche Ctrl enfoncée et sélectionnez chaque élément que vous souhaitez mapper.Pour mapper les éléments, procédez comme suit :
Cliquez avec le bouton droit sur les éléments sélectionnés et sélectionnez l’élément de la carte.
Dans la boîte de dialogue Mapper des éléments XML , sélectionnez une cellule, puis sélectionnez OK.
Conseil
Vous pouvez également faire glisser les éléments sélectionnés vers l’emplacement souhaité dans la feuille de calcul.
Chaque élément apparaît en gras dans le volet Office Source XML pour indiquer qu’il est mappé.
Décidez comment vous voulez gérer les étiquettes et les en-têtes de colonne :
Lorsque vous faites glisser un élément XML non répétitif sur la feuille de calcul pour créer une cellule mappée unique, une balise active avec trois commandes s’affiche, que vous pouvez utiliser pour contrôler le positionnement du titre ou de l’étiquette :
Mes données ont déjà un titre Activez cette option pour ignorer le titre de l’élément XML, car la cellule comporte déjà un titre (à gauche des données ou au-dessus des données).
Placer le titre XML à gauche Activez cette option pour utiliser l’en-tête de l’élément XML comme étiquette de cellule (à gauche des données).
Placer le titre XML au-dessus Activez cette option pour utiliser l’en-tête de l’élément XML comme en-tête de cellule (au-dessus des données).Lorsque vous faites glisser un élément XML répétitif sur la feuille de calcul pour créer des cellules répétitives dans un tableau XML, les noms des éléments XML sont automatiquement utilisés comme en-têtes de colonne pour le tableau. Toutefois, vous pouvez remplacer les en-têtes de colonne par n’importe quel en-tête en modifiant les cellules d’en-tête de colonne.
Dans le volet Office Source XML , sélectionnez Options pour contrôler davantage le comportement de la table XML :
Fusionner automatiquement les éléments lors du mappage Lorsque cette case activée est activée, Excel développe automatiquement les tableaux XML lorsque vous faites glisser un élément vers une cellule adjacente au tableau XML.
Mes données ont des titres Lorsque cette case à case activée, les données existantes peuvent être utilisées comme en-têtes de colonne lorsque vous mappez des éléments répétitifs à votre feuille de calcul.Remarque
- Si toutes les commandes XML sont grisées et que vous ne pouvez mapper aucun élément XML à aucune cellule, il se peut que le classeur soit partagé. Sélectionnez Réviser>le classeur partagé pour vérifier cela et le supprimer de l’utilisation partagée si nécessaire.
Si vous souhaitez mapper des éléments XML dans un classeur que vous souhaitez partager, mappez les éléments XML aux cellules souhaitées, importez les données XML, supprimez tous les mappages XML, puis partagez le classeur. > - Si vous ne pouvez pas copier une table XML qui contient des données dans un autre classeur, la table XML peut avoir une carte XML associée qui définit la structure de données. Ce mappage XML est stocké dans le classeur, mais lorsque vous copiez le tableau XML dans un nouveau classeur, il n’est pas automatiquement inclus. Au lieu de copier le tableau XML, Excel crée un tableau Excel contenant les mêmes données. Si vous souhaitez que la nouvelle table soit une table XML, procédez comme suit : > 1. Ajoutez une carte XML au nouveau classeur à l’aide du fichier .xml ou .xsd que vous avez utilisé pour créer la carte XML d’origine. Vous devez enregistrer ces fichiers si vous souhaitez ajouter des mappages XML à d’autres classeurs. > 1. Mappez les éléments XML à la table pour en faire une table XML. > > - Lorsque vous mappez un élément XML répétitif à une cellule fusionnée, Excel annule la fusion de la cellule. Ce comportement est normal, car les éléments répétitifs sont conçus pour fonctionner uniquement avec des cellules non fusionnées.
Vous pouvez mapper des éléments XML uniques et non répétitifs à une cellule fusionnée, mais le mappage d’un élément XML répétitif (ou d’un élément qui contient un élément répétitif) à une cellule fusionnée n’est pas autorisé. La cellule n’est pas fusionnée et l’élément est mappé à la cellule où se trouve le pointeur.
Conseil
- Vous pouvez annuler le mappage des éléments XML que vous ne souhaitez pas utiliser ou empêcher le remplacement du contenu des cellules lors de l’importation de données XML. Par exemple, vous pouvez temporairement annuler le mappage d’un élément XML d’une seule cellule ou répéter des cellules contenant des formules que vous ne souhaitez pas remplacer lors de l’importation d’un fichier XML. Une fois l’importation terminée, vous pouvez de nouveau mapper l’élément XML aux cellules de formule, afin de pouvoir exporter les résultats des formules dans le fichier de données XML.
- Pour annuler le mappage d’éléments XML, cliquez avec le bouton droit sur leur nom dans le volet Office Source XML , puis sélectionnez Supprimer l’élément.
Afficher l’onglet Développeur
Si l’onglet Développeur ne s’affiche pas, procédez comme suit pour l’afficher :
- Sélectionnez Fichier>Options.
- Sélectionnez la catégorie Personnaliser le ruban .
- Sous les onglets principaux, case activée la zone Développeur, puis sélectionnez OK.
Voir aussi
Supprimer les informations de carte XML d’un classeur
Ajouter ou remplacer des données XML mappées