Comment convertir XLSX en CSV : 6 méthodes éprouvées

CSV (Comma-Separated Values) est le format universel d’échange de données. Contrairement à XLSX, il fonctionne avec n’importe quel langage de programmation, base de données et système d’exploitation sans bibliothèques spéciales. Ce guide présente six façons de convertir des feuilles de calcul Excel en CSV — des outils en ligne en un clic aux workflows automatisés en lot — et comment éviter les problèmes courants : erreurs d’encodage, incohérences de délimiteurs et classeurs multi-feuilles.

Convertir XLSX en CSV en ligne

Importez votre fichier Excel et téléchargez le CSV instantanément

XLSX CSV

Appuyez pour choisir votre fichier

ou

Supports M4A, WAV, FLAC, OGG, AAC, WMA, AIFF, OPUS • Max 100 MB

Envoi chiffré via HTTPS. Fichiers supprimés automatiquement sous 2 heures.

XLSX vs CSV : ce qui change

Avant de convertir, comprenez ce que le format CSV conserve et ce qu’il abandonne :

Fonctionnalité XLSX CSV
Valeurs des cellules (texte, nombres)OuiOui
FormulesOui (stockées)Non (valeurs calculées uniquement)
Mise en forme (gras, couleurs)OuiNon
Feuilles multiplesOuiNon (une feuille par fichier)
Graphiques et imagesOuiNon
Types de données (dates, devises)Oui (cellules typées)Texte brut uniquement
Taille du fichier (1 000 lignes)~50–200 Ko~10–50 Ko
Compatibilité universelleNécessite Excel/lecteurTout éditeur de texte

Si vous avez uniquement besoin des données brutes — pour importer dans une base de données, analyser des données ou partager entre plateformes — le format CSV est le bon choix. Si vous devez conserver la mise en forme, les formules ou plusieurs feuilles, gardez le format XLSX.

Méthode 1 : convertisseur en ligne (CleverUtils)

La méthode la plus rapide. Aucun logiciel à installer, fonctionne sur tout appareil équipé d’un navigateur.

  1. Accédez à cleverutils.com/xlsx-to-csv
  2. Cliquez sur Choisir un fichier XLSX ou faites glisser-déposer votre feuille de calcul
  3. Cliquez sur Convertir
  4. Téléchargez le fichier CSV obtenu

Idéal pour : les conversions ponctuelles rapides. Aucune installation nécessaire. Les fichiers sont chiffrés lors de l’envoi et supprimés automatiquement sous 2 heures.

Méthode 2 : Microsoft Excel

Si vous avez déjà Excel installé, vous pouvez exporter directement :

  1. Ouvrez le fichier .xlsx dans Excel
  2. Si le classeur contient plusieurs feuilles, cliquez sur l’onglet de la feuille à exporter
  3. Allez dans Fichier → Enregistrer sous (ou Fichier → Enregistrer une copie dans les versions récentes)
  4. Dans le menu déroulant « Type de fichier », sélectionnez CSV (séparateur : point-virgule) (*.csv)
  5. Choisissez l’emplacement de sauvegarde et cliquez sur Enregistrer
  6. Excel avertira que certaines fonctionnalités ne sont pas compatibles avec CSV — cliquez sur Oui pour continuer

Excel propose plusieurs variantes CSV dans la boîte de dialogue Enregistrer sous :

Option Encodage Délimiteur Idéal pour
CSV (séparateur : point-virgule)Par défaut du système (souvent Windows-1252)Point-virguleDonnées en français/Europe
CSV UTF-8 (séparateur : virgule)UTF-8 avec BOMVirguleCaractères internationaux
CSV (Macintosh)Mac RomanVirguleApplications macOS legacy
CSV (MS-DOS)Page de codes OEM/DOSVirguleProgrammes DOS legacy

Conseil : Choisissez toujours CSV UTF-8 si vos données contiennent des caractères accentués, du texte CJK ou tout symbole non-ASCII. Le simple « CSV (séparateur : point-virgule) » utilise un encodage dépendant de la locale qui peut corrompre les caractères spéciaux sur d’autres systèmes.

Méthode 3 : Google Sheets

Gratuit et disponible sur toute plateforme équipée d’un navigateur :

  1. Ouvrez sheets.google.com et importez votre fichier XLSX (Fichier → Ouvrir → Importer)
  2. Google Sheets importe le classeur en conservant la plupart de la mise en forme visuelle
  3. Sélectionnez l’onglet de la feuille à exporter
  4. Allez dans Fichier → Télécharger → Valeurs séparées par des virgules (.csv)
  5. La feuille active est téléchargée sous forme de fichier .csv

Google Sheets exporte toujours le CSV en encodage UTF-8, ce qui est le choix le plus sûr pour les données internationales. Le délimiteur est toujours une virgule, quels que soient vos paramètres de locale.

Méthode 4 : LibreOffice Calc

LibreOffice est gratuit, open source et disponible sur Windows, macOS et Linux. Il vous offre le plus grand contrôle sur les paramètres d’export CSV.

  1. Ouvrez le fichier .xlsx dans LibreOffice Calc
  2. Allez dans Fichier → Enregistrer sous
  3. Sélectionnez Texte CSV (.csv) comme format
  4. Cliquez sur Utiliser le format Texte CSV lorsqu’on vous le demande
  5. Dans la boîte de dialogue d’export, configurez :
    • Jeu de caractères : Unicode (UTF-8)
    • Délimiteur de champ : virgule , (ou point-virgule, tabulation)
    • Délimiteur de texte : guillemet double "
  6. Cliquez sur OK

Conversion en lot via la ligne de commande

LibreOffice prend en charge le mode sans interface graphique (headless), ce qui le rend idéal pour le traitement en lot :

Bash
# Convertir un seul fichier
libreoffice --headless --convert-to csv report.xlsx

# Convertir tous les fichiers XLSX du répertoire courant
libreoffice --headless --convert-to csv *.xlsx

# Spécifier le répertoire de sortie
libreoffice --headless --convert-to csv --outdir ./csv-output/ *.xlsx

Remarque : Le mode headless de LibreOffice exporte uniquement la première feuille. Pour les classeurs multi-feuilles, utilisez un script Python (méthode 5) ou convertissez chaque feuille manuellement.

Méthode 5 : Python (pandas)

Python avec la bibliothèque pandas est la meilleure option pour les conversions automatisées, reproductibles ou en lot. Il gère nativement les classeurs multi-feuilles, l’encodage et les délimiteurs personnalisés.

Conversion basique

Python
import pandas as pd

# Lire la première feuille et enregistrer en CSV
df = pd.read_excel("report.xlsx")
df.to_csv("report.csv", index=False, encoding="utf-8-sig")

Convertir toutes les feuilles en fichiers CSV séparés

Python
import pandas as pd

xlsx = pd.ExcelFile("workbook.xlsx")

for sheet_name in xlsx.sheet_names:
    df = pd.read_excel(xlsx, sheet_name=sheet_name)
    filename = f"{sheet_name}.csv"
    df.to_csv(filename, index=False, encoding="utf-8-sig")
    print(f"Enregistré {filename}")

Conversion en lot de plusieurs fichiers XLSX

Python
import pandas as pd
from pathlib import Path

for xlsx_file in Path(".").glob("*.xlsx"):
    df = pd.read_excel(xlsx_file)
    csv_file = xlsx_file.with_suffix(".csv")
    df.to_csv(csv_file, index=False, encoding="utf-8-sig")
    print(f"{xlsx_file}{csv_file}")

Installation : pip install pandas openpyxl — le moteur openpyxl est requis pour lire les fichiers .xlsx. Il est utilisé automatiquement par pandas lorsqu’il est installé.

Méthode 6 : outils en ligne de commande

Pour les environnements serveur, les pipelines CI/CD ou les workflows scriptés où vous ne pouvez pas ouvrir d’interface graphique.

ssconvert (Gnumeric)

Un convertisseur de tableur léger en ligne de commande inclus avec Gnumeric :

Bash
# Installer sur Ubuntu/Debian
sudo apt install gnumeric

# Convertir un seul fichier
ssconvert report.xlsx report.csv

# Exporter toutes les feuilles (crée report.csv.0, report.csv.1, etc.)
ssconvert -S report.xlsx report.csv

# Conversion en lot de tous les fichiers XLSX
for f in *.xlsx; do ssconvert "$f" "${f%.xlsx}.csv"; done

csvkit (in2csv)

Une boîte à outils Python spécialement conçue pour les opérations CSV :

Bash
# Installer
pip install csvkit

# Convertir (première feuille par défaut)
in2csv report.xlsx > report.csv

# Spécifier une feuille par son nom
in2csv --sheet "Sales Q4" report.xlsx > sales-q4.csv

# Lister tous les noms de feuilles
in2csv --names report.xlsx

Problèmes courants et comment les résoudre

Problèmes d’encodage (caractères illisibles)

Le problème le plus fréquent. Les caractères accentués (é, ü, ñ), le texte CJK ou des symboles comme apparaissent sous forme de é, ??? ou autre texte corrompu.

Cause principale : le fichier CSV a été enregistré dans un encodage mais ouvert dans un autre. Excel sous Windows utilise par défaut la page de codes locale (ex. Windows-1252 pour l’Europe occidentale), et non UTF-8.

Solution :

  • Enregistrez toujours en UTF-8 avec BOM (indicateur d’ordre des octets). Le BOM signale à Excel et aux autres applications que le fichier est en UTF-8.
  • En Python : utilisez encoding="utf-8-sig" (UTF-8 avec BOM) plutôt que encoding="utf-8"
  • Pour ouvrir un CSV dans Excel : utilisez l’assistant Données → À partir du texte/CSV, qui vous permet de sélectionner l’encodage avant l’importation

Incohérences de délimiteurs

Certaines locales européennes utilisent le point-virgule (;) plutôt que la virgule comme délimiteur CSV, car la virgule sert de séparateur décimal dans ces locales (ex. 1 234,56 en français).

Symptômes : toutes les données apparaissent dans une seule colonne à l’ouverture dans Excel, ou les valeurs numériques sont réparties sur plusieurs colonnes.

Solution :

  • Vérifiez votre locale système : les utilisateurs sous locales française, allemande ou italienne peuvent avoir besoin de points-virgules
  • En Python : df.to_csv("file.csv", sep=";") pour une sortie délimitée par des points-virgules
  • Dans LibreOffice : définissez explicitement le délimiteur de champ lors de l’export
  • Lors de l’importation : utilisez l’assistant d’importation de texte et spécifiez le délimiteur correct

Classeurs multi-feuilles

Le format CSV ne prend en charge qu’une seule feuille par fichier. Lors de la conversion d’un classeur XLSX multi-feuilles, la plupart des outils exportent uniquement la première feuille (active).

Solution :

  • Exportez chaque feuille séparément en utilisant le script Python multi-feuilles ci-dessus
  • Utilisez ssconvert -S qui crée automatiquement des fichiers CSV numérotés pour chaque feuille
  • Dans Excel ou Google Sheets, changez manuellement d’onglet et exportez chacune

Formatage des dates et des nombres

Les dates et les nombres peuvent changer lors de la conversion en CSV car ce format n’a pas de notion de types de données. Une date comme 2026-03-24 peut devenir 46108 (numéro de série Excel) ou 24/03/2026 (format dépendant de la locale).

Solution :

  • Formatez les colonnes de dates en texte dans le format souhaité avant l’export (ex. YYYY-MM-DD pour l’ISO 8601)
  • En Python : df.to_csv(..., date_format="%Y-%m-%d")
  • Pour les nombres, supprimez les séparateurs de milliers et assurez un format décimal cohérent

Quelle méthode choisir ?

Méthode Vitesse Multi-feuilles Contrôle encodage En lot Idéal pour
CleverUtilsInstantanéPremière feuilleAuto (UTF-8)NonConversions ponctuelles rapides
ExcelRapideManuelle par feuille4 optionsNonUtilisateurs avec Excel installé
Google SheetsMoyenManuelle par feuilleUTF-8 uniquementNonChromebook / sans app bureautique
LibreOfficeRapidePremière feuille (CLI)Contrôle totalOui (CLI)Utilisateurs Linux, lot via CLI
PythonRapideToutes les feuillesContrôle totalOuiDéveloppeurs, automatisation
CLI (ssconvert)RapideToutes (-S)UTF-8 par défautOuiServeurs, pipelines CI/CD

Prêt à convertir ?

Convertissez votre feuille de calcul Excel en CSV

XLSX CSV

Appuyez pour choisir votre fichier

ou

Supports M4A, WAV, FLAC, OGG, AAC, WMA, AIFF, OPUS • Max 100 MB

Questions fréquentes

Oui. CSV est un format texte brut qui ne stocke que les valeurs des cellules séparées par des virgules. Toute la mise en forme (gras, couleurs, bordures, cellules fusionnées), les formules, les graphiques et les images sont supprimés lors de la conversion. Seules les valeurs textuelles et numériques brutes sont conservées.

Le format CSV ne prend en charge qu’une seule feuille par fichier. Vous devez exporter chaque feuille sous forme de fichier CSV séparé. Dans Excel, sélectionnez chaque feuille et enregistrez individuellement. En Python, parcourez pd.ExcelFile().sheet_names et exportez chacune avec to_csv(). En ligne de commande, utilisez ssconvert -S pour exporter toutes les feuilles en une seule fois.

Il s’agit d’une incompatibilité d’encodage. Le CSV a été enregistré dans un encodage (ex. UTF-8) mais ouvert dans un autre (ex. Windows-1252). Enregistrez toujours vos fichiers CSV en UTF-8 avec BOM pour une compatibilité maximale. Pour ouvrir dans Excel, utilisez l’assistant Données → À partir du texte/CSV pour sélectionner l’encodage correct.

Oui. Utilisez Python avec pandas ou openpyxl pour convertir des fichiers en lot dans une boucle. Sous Linux ou macOS, utilisez le mode headless de LibreOffice : libreoffice --headless --convert-to csv *.xlsx. Vous pouvez aussi utiliser ssconvert de la boîte à outils Gnumeric. Ces trois méthodes fonctionnent bien pour les conversions planifiées ou en masse.

Retour au convertisseur XLSX vers CSV

Demander une fonctionnalité

0 / 2000