Convertir Excel en XML : Outils gratuits + Automatisation Python

2025-11-14 07:13:42 zaki zou

Apprenez trois façons simples de convertir Excel en XML

Si vous travaillez avec des données qui doivent être partagées entre des logiciels, des API ou des sites web, la conversion d'Excel en XML est une compétence essentielle. Le XML (Extensible Markup Language) est un format universel, lisible par machine, idéal pour l'échange de données, tandis qu'Excel excelle dans l'organisation des feuilles de calcul. Combler le fossé entre les deux permet à vos données de circuler de manière transparente sur toutes les plateformes.

Que vous soyez un débutant à la recherche d'une solution rapide, un analyste garantissant l'intégrité des données ou un développeur créant un pipeline automatisé, ce guide vous présentera trois méthodes de conversion Excel vers XML efficaces et sans erreur.


Pourquoi convertir Excel en XML ?

La valeur fondamentale de la conversion d'Excel en XML réside dans :

  • Compatibilité multiplateforme : XML fonctionne avec les API, les plateformes CMS (WordPress, Shopify), les outils d'entreprise (SAP, Salesforce) et les langages de programmation (Python, Java).
  • Données structurées : XML préserve les lignes/colonnes d'Excel en tant qu'éléments balisés (par exemple, <produit><nom>OrdinateurPortable</nom><prix>999</prix></produit>), ce qui facilite l'analyse par les logiciels.
  • Intégrité des données : XML évite les problèmes de formatage qui affectent les fichiers Excel (par exemple, formules rompues, cellules fusionnées) lorsqu'ils sont partagés entre systèmes.
  • Cas d'utilisation : Flux de produits de commerce électronique, exportations de données d'API, importations de contenu de CMS et intégration de données d'entreprise.

Structuration des données Excel pour une conversion réussie

La première étape, la plus critique, se déroule dans Excel. Une feuille source bien structurée garantit une conversion en douceur.

  • Utilisez des en-têtes de colonne uniques et courts (sans espaces ni caractères spéciaux, par exemple, "NomProduit" au lieu de "Nom du produit").
  • Supprimez les lignes/colonnes vides (elles provoquent des erreurs de validation XML).
  • Assurez-vous que les types de données sont cohérents (par exemple, tous les prix en tant que nombres, les dates dans un format uniforme).
  • Évitez les cellules fusionnées ou les formules complexes ; utilisez plutôt des données brutes.

Méthode 1 : Conversion manuelle d'Excel en XML (onglet Développeur intégré)

L'onglet Développeur intégré d'Excel offre un support natif pour les tâches XML, le rendant accessible aux utilisateurs d'Excel sans connaissances en programmation.

Guide étape par étape :

Étape 1 : Préparez vos données Excel

Structurez vos données dans un format tabulaire clair. La première ligne doit contenir vos en-têtes de colonne, qui deviendront vos balises XML. Pour cet exemple, utilisons une simple liste de produits :

Exemple de feuille de calcul Excel montrant des données de produits.

Étape 2 : Créez un schéma XML

Un schéma XML (fichier .xsd) définit la structure de votre sortie XML. Il spécifie quelles balises utiliser et comment elles sont liées les unes aux autres.

Exemple de schéma (enregistrez-le sous le nom de « products.xsd » sur votre ordinateur) :

<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <xs:element name="Catalog">
    <xs:complexType>
      <xs:sequence>
        <xs:element name="Product" maxOccurs="unbounded">
          <xs:complexType>
            <xs:sequence>
              <xs:element name="ID" type="xs:integer"/>
              <xs:element name="ProductName" type="xs:string"/>
              <xs:element name="Category" type="xs:string"/>
              <xs:element name="Price" type="xs:decimal"/>
            </xs:sequence>
          </xs:complexType>
        </xs:element>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
</xs:schema>
  • Ajustez les attributs name pour qu'ils correspondent aux en-têtes de vos colonnes Excel (sensible à la casse).
  • Utilisez les types appropriés (par exemple, xsd:integer pour les nombres, xsd:string pour le texte).

Étape 3 : Ajoutez le schéma à Excel

  1. Ouvrez votre fichier Excel.
  2. Allez dans l'onglet Développeur. (Si vous ne le voyez pas, allez dans Fichier > Options > Personnaliser le ruban, cochez « Développeur » et cliquez sur « OK ».)
  3. Dans l'onglet Développeur, cliquez sur Source pour ouvrir le volet Source XML.
  4. Cliquez sur Mappages XML... puis sur Ajouter....
  5. Joignez le fichier de schéma .xsd que vous avez créé à l'aide de la boîte de dialogue Mappages XML

Interface de l'onglet Développeur d'Excel montrant le volet Source XML et la boîte de dialogue Mappages XML.

Étape 4 : Mappez les éléments XML à vos cellules

  1. Dans le volet Source XML, vous verrez vos éléments (« Catalog », « Product », « ID », etc.).
  2. Faites glisser l'élément « Product » et déposez-le sur la cellule A1. Excel créera un tableau bien formaté.
  3. Les éléments seront maintenant mappés. Vos données sont prêtes pour l'exportation.

Feuille de calcul Excel avec des éléments XML mappés aux en-têtes de colonne.

Étape 5 : Exporter en XML

  1. Avec vos données mappées sélectionnées, retournez à l'onglet Développeur.
  2. Cliquez sur Exporter.
  3. Choisissez un emplacement et un nom pour votre nouveau fichier XML et cliquez sur OK.

Le fichier XML exporté correspondra à votre schéma, comme ceci :

Fichier XML résultant affiché dans un navigateur.

Vous aimerez peut-être aussi : Convertir facilement XLS/XLSX en HTML — Conserver intact le formatage Excel


Méthode 2 : Convertisseurs en ligne gratuits d'Excel en XML

Si vous avez besoin d'une conversion rapide et ponctuelle sans configuration technique, les outils en ligne sont vos meilleurs alliés.

Meilleurs outils pour convertir Excel en XML en ligne (100 % gratuits, sans inscription) :

1. CloudxDocs (Le plus convivial)

  • Allez sur le convertisseur CloudxDocs EXCEL TO XML.
  • Téléchargez votre fichier Excel (prend en charge XLS, XLSX, XLSB).
  • Attendez la fin de la conversion et téléchargez votre fichier XML.

Ce convertisseur produit par défaut un fichier de feuille de calcul XML qui préserve le formatage d'Excel.

Convertir Excel en XML en ligne à l'aide du convertisseur CloudxDocs.

2. WizlyTools (Prend en charge le XML personnalisé)

  • Allez sur le convertisseur Excel vers XML de WizlyTools.
  • Téléchargez un fichier Excel (.xlsx, .xls).
  • Entrez le nom de l'élément racine et le nom de l'élément de ligne.
  • Sélectionnez une taille d'indentation pour votre sortie XML.
  • Cliquez sur « Convertir en XML » puis copiez ou téléchargez le XML résultant

Ce convertisseur vous donne plus de contrôle sur la structure XML, comme la définition d'un élément racine spécifique, d'un élément de ligne, et vous permet de prévisualiser le XML avant de le télécharger

Page du convertisseur WizlyTools avec des options pour définir les éléments racine et de ligne XML.

Remarque : Évitez de télécharger des données sensibles (par exemple, des dossiers financiers) sur des outils en ligne. Utilisez des méthodes manuelles pour les fichiers confidentiels.


Méthode 3 : Automatiser la conversion d'Excel en XML en Python

Pour les développeurs et les professionnels de l'informatique travaillant en Python, Spire.XLS for Python fournit une solution robuste, pilotée par le code, pour convertir des feuilles de calcul Excel en XML sans nécessiter l'installation de Microsoft Excel. C'est idéal pour l'automatisation côté serveur et l'intégration d'applications.

Étape 1 : Installation

Tout d'abord, vous devez installer la bibliothèque Spire.XLS for Python. Elle est disponible via PyPI.

pip install Spire.XLS

Étape 2 : Écrire le script Python

Ce script utilise Spire.XLS pour lire les données Excel, puis génère du XML avec les modules intégrés de Python xml.etree.ElementTree (pour la structure) et minidom (pour un formatage élégant).

from spire.xls import *
import xml.etree.ElementTree as ET
from xml.dom import minidom

# Load the Excel file
workbook = Workbook()
workbook.LoadFromFile("Orders.xlsx")

# Get the first worksheet
worksheet = workbook.Worksheets[0]

# Get row and column counts (Spire.XLS uses 1-based indexing)
max_row = worksheet.LastRow
max_col = worksheet.LastColumn

# Check if data exists (headers in row 1, data in row 2+)
if max_row < 2:
    raise ValueError("No data found! Ensure headers are in row 1 and data starts in row 2.")

# Create XML root element
root = ET.Element("Info")

# Loop through data rows (skip row 1: headers)
for row in range(2, max_row + 1):
    # Create a row element (e.g., <Order>)
    row_element = ET.SubElement(root, "Order")

    # Loop through columns to get headers and values
    for col in range(1, max_col + 1):
        # Get header (XML tag)
        header = worksheet.Range[1, col].Value

        # Get cell value (data for the XML tag)
        cell_value = worksheet.Range[row, col].Value

        # Create sub-element and add value
        ET.SubElement(row_element, header).text = str(cell_value)

# Pretty-print XML (add indentation for readability)
rough_string = ET.tostring(root, 'utf-8')
reparsed = minidom.parseString(rough_string)
pretty_xml = reparsed.toprettyxml(indent="  ")

# Save to XML file
with open("Orders.xml", 'w', encoding='utf-8') as f:
    f.write(pretty_xml)

# Close the workbook
workbook.Dispose()

Explication du code :

  • Charger le fichier Excel : Utilise Spire.XLS pour ouvrir un fichier Excel et accéder à sa première feuille de calcul.
  • Définir la plage de données : Trouve la dernière ligne et la dernière colonne avec des données (indexation basée sur 1 dans Spire.XLS) pour connaître les limites des données.
  • Construire la structure XML :
    • Crée un élément racine XML <Info>.
    • Parcourt chaque ligne de données (à partir de la ligne 2), en créant un élément <Order> pour chacune.
    • Pour chaque colonne de la ligne : Utilisez l'en-tête de la ligne 1 comme balise XML et la valeur de la cellule comme contenu de la balise.
  • Enregistrer le XML : Formate le XML avec une indentation (pour la lisibilité) et l'enregistre dans un fichier XML.

Exemple de sortie XML

Convertir Excel en un fichier XML structuré à l'aide de Python

Spire.XLS for Python fournit également une méthode directe SaveAsXml() pour convertir Excel au format Open XML.


Réflexions finales

La conversion d'Excel en XML est une compétence fondamentale qui libère le véritable potentiel de vos données, leur permettant de s'intégrer de manière transparente dans les applications web, les fichiers de configuration et d'autres systèmes d'entreprise. En comprenant les méthodes disponibles, de la puissance contrôlée des Mappages XML d'Excel à la facilité ultra-rapide des outils en ligne et à la robustesse industrielle du scripting Python, vous pouvez choisir le bon outil pour chaque tâche.


FAQ sur la conversion d'Excel en XML

Q1 : Comment puis-je convertir par lots plusieurs fichiers Excel en XML en une seule fois ?

La conversion par lots permet de gagner du temps pour plus de 10 fichiers. Utilisez ces méthodes en fonction de votre niveau de compétence :

  • Outils en ligne : Zamzar prend en charge jusqu'à 50 fichiers par lot (téléchargez tous les fichiers Excel, sélectionnez « XML » comme sortie et obtenez un zip de fichiers XML).
  • Spire.XLS for Python : Étendez le script fourni pour parcourir un dossier
import os
from spire.xls import *
import xml.etree.ElementTree as ET
from xml.dom import minidom

input_folder = "C:/Excel_Batch"
output_folder = "C:/XML_Batch"
os.makedirs(output_folder, exist_ok=True)

for filename in os.listdir(input_folder):
    if filename.endswith((".xlsx", ".xls")):
        workbook = Workbook()
        workbook.LoadFromFile(os.path.join(input_folder, filename))
        # Add conversion logic (same as single file) here
        workbook.Dispose()

Q2 : Puis-je personnaliser la structure XML (par exemple, changer les balises racine/ligne) ?

Oui, toutes les méthodes prennent en charge la personnalisation :

  • Manuel : Modifiez le schéma XML (fichier .xsd) pour changer les balises racine (par exemple, <Catalog>) ou de ligne (par exemple, <Product>).
  • En ligne : Des outils comme WizlyTools vous permettent de définir les noms des éléments racine/ligne dans les paramètres.
  • Python : Modifiez les lignes ET.Element("NomRacine") et ET.SubElement(root, "NomLigne") du script pour répondre à vos besoins.

Q3 : Mes données contiennent des formules. La sortie XML contiendra-t-elle la formule ou la valeur calculée ?

Dans presque tous les cas, l'exportation XML contiendra la valeur calculée (le résultat de la formule), et non la formule elle-même. Le XML est avant tout un format de représentation des données, et non de la logique ou des calculs qui les sous-tendent. Le processus de conversion lit les valeurs visibles des cellules.

Q4 : Mon fichier XML semble désordonné lorsque je l'ouvre. Comment puis-je le formater correctement ?

Le XML généré par ces méthodes est souvent dans un format compressé sans sauts de ligne ni indentation. Il s'agit toujours d'un XML valide. Pour le visualiser dans un format lisible :

  • Ouvrez le fichier dans un navigateur web moderne (Chrome, Firefox, Edge), qui le formatera et l'affichera automatically de manière soignée.
  • Utilisez un éditeur de code comme VS Code, Notepad++ ou Sublime Text, qui disposent d'un formatage XML intégré ou de plugins pour réindenter le code.

Voir aussi