FlowKit

Excel et CSV dans n8n : lire, générer et automatiser des rapports avec Extract from File

Publié le 23 juillet 2026 · 6 min de lecture

Un client demande son historique de commandes « en Excel », un comptable veut un export mensuel des factures, une équipe support réclame la liste des tickets ouverts dans un fichier qu'elle peut trier elle-même : le format tableur reste, en 2026, le langage commun de la donnée en entreprise — bien plus que le JSON ou même le PDF. Automatiser sa lecture et sa génération dans n8n est donc une brique récurrente, mais une brique qui a changé de visage récemment. Ce guide couvre les deux nœuds actuels, deux cas d'usage concrets, et les pièges qui font perdre du temps la première fois qu'on les rencontre.

Extract from File et Convert to File : les héritiers de Spreadsheet File

Jusqu'à la version 1.21.0, n8n proposait un seul node, Spreadsheet File, pour lire et écrire des tableurs. Il est aujourd'hui déprécié : les workflows qui l'utilisent encore fonctionnent, mais n8n ne le fait plus évoluer. Il a été remplacé par deux nœuds spécialisés, plus cohérents avec le reste de l'écosystème de gestion de fichiers de n8n :

  • Extract from File (n8n-nodes-base.extractFromFile) — lit un fichier binaire en entrée et en extrait des données structurées. Les opérations utiles ici sont Extract From CSV, Extract From XLS et Extract From XLSX (le node gère aussi JSON, ICS ou texte brut pour d'autres formats). Le paramètre clé est Input Binary Field (« data » par défaut), qui indique quelle propriété binaire de l'item d'entrée contient le fichier à lire, ainsi qu'un bascule Header Row pour indiquer si la première ligne contient les en-têtes de colonnes.
  • Convert to File (n8n-nodes-base.convertToFile) — fait l'inverse : il transforme des données JSON en fichier binaire, via les opérations Convert to CSV, Convert to XLS et Convert to XLSX. On y règle le champ de sortie (Put Output File in Field), un nom de fichier, la bascule Header Row, et pour les formats Excel uniquement un Sheet Name (nom de l'onglet) ainsi qu'une option de compression pour le XLSX.

Cette séparation lecture / écriture en deux nœuds distincts, plutôt qu'un seul node à double opération, colle mieux à la logique du reste de n8n (comme Extract from File / Convert to File pour les PDF, détaillé dans notre guide sur l'extraction de factures) et facilite la lecture d'un workflow : on voit immédiatement si une étape lit ou produit un fichier.

Cas d'usage 1 : lire un fichier Excel reçu par email

Un scénario fréquent : un fournisseur ou un client envoie un fichier XLSX en pièce jointe, et il faut en extraire les lignes pour les intégrer ailleurs (base de données, CRM, outil de facturation). Dans un workflow proche de ceux du Pack Inbox IA (79 €), le node IMAP Trigger ou Gmail Trigger récupère l'email avec sa pièce jointe binaire, qu'un node Extract from File (opération Extract From XLSX) transforme directement en tableau d'objets JSON, un par ligne du tableur.

Trois réglages à ne pas négliger :

  1. Header Row activé si la première ligne contient les noms de colonnes — sinon les clés générées sont numériques (0, 1, 2…) et il faut les renommer à la main dans un node Set en aval.
  2. Vérification des types après extraction : une colonne qui contient parfois du texte, parfois des nombres dans le fichier source ressort inconsistante côté n8n. Un node Code léger qui force le typage attendu (Number(), String().trim()) avant l'insertion en base évite des surprises silencieuses.
  3. Stockage des lignes extraites : pour un volume modeste avec besoin de déduplication (ne pas réimporter deux fois le même fichier), une Data Table n8n suffit largement ; pour un volume plus important ou des jointures, direction Supabase.

Le piège des classeurs multi-onglets

Le point qui surprend le plus souvent les personnes qui migrent vers Extract from File : le node ne lit que la première feuille du classeur, sans option native pour en choisir une autre ni pour toutes les parcourir. Un fichier de suivi budgétaire avec un onglet par mois, ou une exportation comptable avec un onglet « Détail » et un onglet « Synthèse », ne remonte donc que la première feuille — souvent pas celle qu'on veut.

La solution passe par un node Code JavaScript : n8n embarque la librairie xlsx dans son contexte d'exécution, ce qui permet de parser le buffer binaire du fichier soi-même, d'itérer sur workbook.SheetNames, et de renvoyer un item par feuille (ou de fusionner les feuilles utiles selon le besoin). C'est plus de code qu'un simple glisser-déposer de node, mais c'est la seule option fiable tant qu'Extract from File reste limité à la première feuille — un comportement à vérifier systématiquement avant de mettre un workflow en production avec des fichiers Excel dont la structure n'est pas garantie.

Cas d'usage 2 : générer un rapport Excel automatiquement

À l'inverse, générer un fichier Excel à la volée est utile chaque fois qu'un destinataire attend un tableau exploitable plutôt qu'un email HTML. Notre guide sur le rapport de synthèse d'audit par IA construit un rapport HTML envoyé par email — une bonne option pour une lecture rapide en comité, mais un comptable ou un auditeur externe préfère souvent recevoir les mêmes données dans un fichier XLSX qu'il peut filtrer et recalculer lui-même. Le même workflow peut, en parallèle de l'email HTML, ajouter un node Convert to File (opération Convert to XLSX) juste avant l'envoi : il transforme le tableau de non-conformités agrégées en pièce jointe Excel, avec un nom d'onglet explicite (« Synthèse audit — juillet 2026 » par exemple) et la compression activée pour limiter le poids du fichier.

Ce schéma s'applique directement aux workflows du Pack Conformité & Audit (149 €), où chaque rapport généré peut exister à la fois en HTML pour une lecture rapide et en XLSX pour l'archivage ou le partage avec un tiers qui n'a pas accès à l'outil.

CSV ou Excel : lequel choisir

Besoin CSV XLSX
Échange entre deux systèmes automatisés ✅ Format le plus léger et le plus universel Fonctionne, mais surdimensionné
Fichier ouvert et retravaillé par un humain sous Excel ⚠️ Risque d'accents mal affichés (pas de BOM UTF-8) ✅ Formatage, plusieurs colonnes de types différents, pas de souci d'encodage
Plusieurs feuilles dans un même fichier ❌ Un CSV ne contient qu'un seul tableau ✅ Nom de feuille configurable côté Convert to File
Fichier volumineux, des dizaines de milliers de lignes ✅ Traitement plus rapide, fichier plus léger Fonctionne, mais plus lourd à ouvrir

La règle pratique : CSV pour ce qui reste dans un pipeline automatisé (import vers un autre outil, échange entre workflows), XLSX dès qu'un humain doit ouvrir le fichier directement dans Excel ou Google Sheets sans manipulation préalable.

Pourquoi structurer l'extraction plutôt que fiabiliser une saisie manuelle

Automatiser la lecture d'un tableur évite une classe d'erreurs bien documentée dans la littérature académique sur les tableurs. Une revue de référence de Powell, Baker et Lawson (A Critical Review of the Literature on Spreadsheet Errors, Decision Support Systems, 2008 — voir sur Google Scholar) souligne que les erreurs de saisie manuelle et les erreurs de formule dans les tableurs opérationnels sont non seulement fréquentes, mais qu'elles se propagent silencieusement d'une version du fichier à la suivante, sans mécanisme de détection intégré. Un pipeline n8n qui lit un XLSX avec un typage vérifié à chaque étape, plutôt qu'une ressaisie manuelle des mêmes données dans un autre outil, élimine mécaniquement cette classe d'erreurs — sans supprimer le besoin de valider les données à la source.

Pour aller plus loin

Extract from File et Convert to File couvrent l'essentiel des besoins Excel/CSV dans un workflow n8n : lecture de fichiers reçus par email, génération de rapports pour des destinataires externes, échange de données entre systèmes. Le seul angle mort à connaître dès le départ est la limitation à la première feuille en lecture, qui impose un node Code pour les classeurs multi-onglets. Et si vos fichiers entrants sont des PDF plutôt que des tableurs, le même node Extract from File est le point de départ d'un RAG sur vos documents PDF. Les workflows des packs FlowKit combinent déjà ces nœuds avec Supabase et l'IA pour transformer des fichiers bruts en données exploitables — de la pièce jointe email du Pack Inbox IA (79 €) au rapport d'audit exportable du Pack Conformité & Audit (149 €).

FAQ

Questions fréquentes

Le node Spreadsheet File fonctionne-t-il encore dans n8n ?

Les workflows existants qui l'utilisent continuent de tourner, mais le node est déprécié depuis la version 1.21.0 : il ne reçoit plus de correctifs ni d'évolutions. Extract from File et Convert to File sont les remplaçants officiels, et c'est ce qu'il faut utiliser pour tout nouveau workflow.

Extract from File peut-il lire plusieurs feuilles d'un classeur Excel en une seule fois ?

Non, par défaut il ne récupère que la première feuille du classeur. Pour traiter un fichier XLSX multi-onglets, il faut passer par un node Code avec la librairie xlsx (disponible dans le contexte JavaScript de n8n) pour parcourir chaque feuille manuellement.

Comment éviter les accents mal affichés dans un CSV ouvert sous Excel ?

Le nœud Convert to CSV produit un fichier encodé en UTF-8 sans BOM (byte order mark). Excel, sur Windows en particulier, interprète alors mal les caractères accentués à l'ouverture directe. La solution la plus fiable reste de privilégier XLSX pour tout export destiné à être ouvert dans Excel, et de réserver le CSV aux échanges entre systèmes qui gèrent l'UTF-8 correctement.

Bundle FlowKit Complet

269 €