Se lavori in marketing, sai che Excel e CSV sono ovunque: listini, export CRM, report campagna. E sai anche quanto tempo si perde a fare copia/incolla. In questa guida pratica ti mostro come replicare (e migliorare) quello che faceva il vecchio nodo spreadsheet file n8n, oggi deprecato, usando i nuovi nodi “Extract From File” (per la lettura/estrazione) e “Convert to File” (per la generazione/scrittura). Partiremo dal flusso base per leggere file locali e remoti, passeremo alle opzioni avanzate per CSV (delimitatore, header, encoding), vedremo come estrarre dati da XLSX in n8n e come convertire JSON in file di foglio di calcolo per creare report schedulati. Infine, troverai una mappa di migrazione 1:1 dalla versione legacy e una checklist di best practice per evitare i classici errori (sheet mancanti, date sballate, file enormi). L’obiettivo: farti costruire automazioni ETL da Excel a database e export pronti all’uso, con la potenza del nuovo stack n8n e senza più dipendere da procedure manuali. Se hai usato il nodo spreadsheet file n8n, qui trovi la strada per fare lo stesso lavoro… meglio e più veloce.

📚 Nuovo a n8n? Parti dalla guida completa: cos'è n8n e come funziona.

[IMG: panoramica dei flussi da/verso file con i nodi Extract From File e Convert to File]

Dal vecchio “Spreadsheet File” ai nuovi nodi: cosa cambia davvero

Il vecchio nodo spreadsheet file n8n permetteva lettura/scrittura di Excel/CSV e conversioni tra JSON ↔ spreadsheet. Dalla versione n8n v1.21.0 è stato deprecato e sostituito da due nodi più chiari e modulari:

  • Extract From File: estrae dati da un file binario (CSV, XLS, XLSX, ODS, HTML, JSON, PDF, RTF, ICS…) e li converte in JSON.
  • Convert to File: converte dati JSON in un file binario (CSV, XLS, XLSX, ODS, JSON, HTML, RTF, testo, ICS, ecc.).

In pratica, al posto di un unico nodo “tuttofare”, ora separi lettura/estrazione dalla generazione/scrittura. Questo rende i flussi più leggibili e testabili, soprattutto quando fai n8n lettura file Excel per ETL o n8n esportazione CSV per report ricorrenti.

Mappa mentale (migrazione da Spreadsheet File deprecato):

  • Lettura → Extract From File
  • Scrittura/Conversione → Convert to File

Requisiti e visibilità:

  • Aggiorna n8n almeno alla v1.21.0 per avere entrambi i nodi.
  • In pannello nodi, li trovi sotto Core nodes. Se non li vedi, verifica versione e permessi dell’istanza.
  • Per file locali, assicurati di avere i permessi file system (percorsi assoluti/relativi). Per storage esterni (S3, Google Drive, URL), usa HTTP Request o il connettore del provider per ottenere i file in formato binario.

Insight per marketer: invece di replicare uno a uno i vecchi flussi del nodo spreadsheet file n8n, approfitta della separazione logica per aggiungere step di qualità dati (normalizzare header, tipizzare campi) tra estrazione e scrittura. In questo modo trasformi una semplice automazione in un mini-ETL affidabile.

[IMG: confronto tra flusso legacy (un nodo) e flusso nuovo (Extract → process → Convert)]

Flusso base di lettura: file locali e remoti in JSON con “Extract From File”

Il pattern moderno per n8n lettura file Excel e CSV è:
1) Ottenere il file come binario (da locale o remoto).
2) Estrarlo in JSON con Extract From File.
3) Processare i dati tabellari come item JSON.

Step-by-step

  • Caso file locale

  • Read Binary File → legge il file da disco e lo inserisce nell’item come binario.

  • Extract From File → converte il binario in JSON.

  • Caso file remoto

  • HTTP Request → scarica il file (imposta l’output come binario) e salvalo nel campo “data”, così il nodo seguente lo trova facilmente.

  • Extract From File → estrae i dati in JSON.

Configurazione chiave (Extract From File)

  • Operation: scegli il formato sorgente (per esempio, “Extract From CSV” o “Extract From XLSX”).
  • Input Binary Field: data (default; è il nome del campo binario in input).
  • Destination Output Field: per esempio rows (il nome del campo JSON di output che conterrà i record estratti).

Esempio pratico: estrarre dati da XLSX in n8n

  • Read Binary File: path al file .xlsx
  • Extract From File:
  • Operation: Extract From XLSX
  • Input Binary Field: data
  • Destination Output Field: rows
  • Ora hai item JSON in rows. Se il file ha più fogli, seleziona il foglio appropriato (per nome/indice) in base alle opzioni disponibili per XLSX.

Tip utili

  • Dati binari e dati tabellari in n8n: il file vive nella proprietà binaria (per default “data”), mentre l’estrazione produce JSON. Puoi manipolare i record con Set, Item Lists, IF, Code.
  • Pattern ricorrente: Read Binary File → Extract From File → Filter/IF/Item Lists → (DB/Sheet/API).
  • Errori comuni: “sheet non trovato” in XLSX; verifica che il nome del foglio corrisponda esattamente.

[IMG: workflow n8n con Read Binary File → Extract From File → Set → Success]

CSV senza sorprese: delimitatore, header, encoding e qualità dati

Il CSV è il formato più frequente nelle automazioni. Per parsing CSV con delimitatore personalizzato e gestione encoding CSV in automazioni:

  • Usa Extract From File (Operation: Extract From CSV) per leggere e produrre JSON.
  • Configura le opzioni di parsing adeguate (header row, separatore, encoding) secondo le impostazioni disponibili nel nodo.
  • Normalizza subito gli header per evitare problemi a valle.

Pattern consigliato

  • Validazione percorso: prima di leggere, verifica che il file esista e che la dimensione sia ragionevole.
  • Try/catch: imposta Continue On Fail dove opportuno e invia errori a un flusso di alert.
  • Normalizzare header di un foglio: rimuovi spazi, accenti, simboli, e porta tutto in snake_case.

Snippet (Code node) per normalizzare header in JSON

// Assume $json.rows è un array di oggetti (output di Extract From File)
const rows = $json.rows || [];
const normalize = (k) => k
  .toString()
  .trim()
  .toLowerCase()
  .normalize('NFD').replace(/[\u0300-\u036f]/g, '')
  .replace(/[^a-z0-9]+/g, '_')
  .replace(/^_+|_+$/g, '');

const out = rows.map(r => {
  const o = {};
  Object.entries(r).forEach(([k, v]) => { o[normalize(k)] = v; });
  return o;
});

return [{ json: { rows: out } }];

Esempi utili

  • Import periodico: HTTP Request (scarica CSV) → Extract From File → Filter (righe non valide) → DB.
  • Batch di più file: lista file → loop → per ogni file: Extract From File → append in JSON cumulativo → processing finale.

Insight: invece di provare ad “appendere” direttamente a un CSV in disco (rischio di concorrenza e lock), conserva un dataset JSON consolidato in memoria o DB e rigenera il CSV finale a fine job con Convert to File. È più sicuro e tracciabile per il tuo team.

[IMG: dettaglio Extract From File con CSV e normalizzazione header]

Da JSON a foglio: esportare CSV/XLSX con “Convert to File” e salvare

Quando vuoi scrivere file di report in n8n (export KPI, lead, performance canali), usa Convert to File per convertire JSON in CSV/XLS/XLSX e poi salva con Write Binary File o carica su cloud.

Configurazione chiave (Convert to File)

  • Operation: scegli il formato di destinazione (Convert to CSV, Convert to XLSX, ecc.).
  • Put Output File in Field: file (nome del campo binario in output).
  • Options:
  • File Name: per esempio report_marketing.xlsx o export.csv
  • Header Row: attiva se vuoi includere la riga di intestazione (XLSX/CSV).

Step-by-step (convertire JSON in file di foglio di calcolo)
1) Hai gli item JSON pronti (per esempio, $json.rows).
2) Convert to File:

  • Operation: Convert to XLSX
  • Put Output File in Field: file
  • Options: File Name: report_kpi.xlsx; Header Row: ON
    3) Write Binary File:
  • Usa come input il campo binario “file” e imposta il percorso di output (es. /data/exports/report_kpi.xlsx).

Varianti pratiche

  • n8n esportazione CSV: se i destinatari preferiscono CSV, imposta Operation: Convert to CSV; scegli File Name: report.csv; abilita Header Row e configura (dove previsto) il delimitatore/encoding coerenti con il mercato (es. ; e UTF-8 con BOM per Italia/EU).
  • Append a file CSV con n8n (strategia sicura): leggi file esistente → Extract From File → merge JSON → Convert to File → sovrascrivi in modo atomico. Evita scritture concorrenti su file locali.

Insight: separa la logica di selezione campi/ordine colonne in un Set o Code node prima della conversione. Così mantieni un unico punto di verità per formattazione e tipizzazione, utile quando aggiorni il layout del report per gli stakeholder.

[IMG: Convert to File configurato su Convert to XLSX con File Name e Header Row]

Automazioni ETL da Excel a database e batch multi-file

Molti marketer vogliono portare dati da fogli a un database per arricchirli e unirli con altre fonti. Il pattern base (automazioni ETL da Excel a database):
1) Ottenere file (Read Binary File o HTTP Request).
2) Extract From File (XLSX/CSV → JSON).
3) Pulizia e mappatura (Set/Code/IF).
4) Scrittura su DB (connettore del tuo DB o HTTP Request verso API interne).
5) Export finale per stakeholder (Convert to File → Write Binary File/Upload).

Batch di più file (cartella o lista da API)

  • Produci una lista dei file da processare (percorso o URL).
  • Loop: per ciascun file → Read/HTTP → Extract From File → append a array JSON cumulativo (Item Lists → Aggregate) → al termine, un unico Convert to File.
  • Per file molto grandi: usa Split In Batches per processare righe in chunk; riduci l’uso RAM e fallo “a flusso”.

Selezione campi e stabilità schema

  • Definisci un set ordinato di colonne target prima della conversione (per esempio, name, email, source, created_at).
  • Rinomina header incoerenti all’origine (normalizzare header di un foglio).
  • Controllo dei tipi (numeri come numeri, date come ISO8601) prima della scrittura o della conversione XLSX/CSV.

Insight unico: gestisci un “profilo di schema” (JSON) versionato in repo con l’elenco campi e regole di casting. Il nodo spreadsheet file n8n originale non incoraggiava questa disciplina; con Extract/Convert la separazione ti permette di automatizzare la validazione e prevenire rotture quando un fornitore cambia un header.

[IMG: flusso ETL da XLSX a DB e poi export CSV finale]

Debug, performance e localizzazione: come evitare i trabocchetti

Errori comuni in lettura

  • “Sheet non trovato” (XLSX): verifica nome/indice foglio e ortografia.
  • Encoding CSV: caratteri accentati errati? Usa un encoding coerente (UTF-8; eventualmente aggiungi BOM quando necessario per tool legacy).
  • Separatori/decimali: in contesti EU, “;” come delimitatore e virgola decimale; assicurati coerenza tra parsing e scrittura.

Performance

  • Evita carichi RAM enormi: processa a chunk con Split In Batches, filtra a monte (Code/IF) e non caricare interi CSV giganteschi se non serve.
  • Streaming logico: per dataset grandi, estrai → subito filtra e normalizza → scrivi/accumula in DB o storage intermedio → genera il file finale a fine job.
  • Cache e timeout: con HTTP Request su file remoti, considera tempi di download, retry/backoff e timeout.

Qualità dati

  • Tipizza i campi (numeri/date) prima di scrivere.
  • Gestisci valori nulli e formule (in XLSX) convertendole a valori.
  • Aggiungi controlli: campi obbligatori non vuoti, formati email/URL, range date.

Osservabilità

  • Error Trigger: crea un workflow dedicato agli errori e invia alert su Slack/Email con dettagli (nome workflow, nodo, messaggio errore).
  • Log di volumi: conteggia righe lette/scritte, dimensione file, tempi di esecuzione.

Insight: i problemi “misteriosi” dei CSV sono quasi sempre encoding o delimitatore. Standardizza per team e stakeholder: definisci una policy (UTF-8 + BOM, separatore “;”, punto come separatore decimale) e applicala ovunque, dal parsing all’export.

[IMG: esempio di alert su Slack con conteggio righe e link al job]

Migrazione 1:1 dal nodo legacy: checklist rapida e rollback

Se hai workflow costruiti con il nodo spreadsheet file n8n, ecco una mappatura operativa:

Lettura (legacy) → Extract From File (moderno)

  • Operation: seleziona il tipo file (Extract From CSV/XLSX).
  • Input Binary Field: data (default).
  • Destination Output Field: es. rows (JSON).

Scrittura/Conversione (legacy) → Convert to File (moderno)

  • Operation: Convert to CSV/XLSX.
  • Put Output File in Field: file.
  • Options: File Name, Header Row (abilita se vuoi l’intestazione).

Percorso tipico
1) Sostituisci i nodi legacy con Extract/Convert rispettando gli I/O (binario “data” in input; binario “file” in output).
2) Inserisci un passo di normalizzazione header e tipizzazione dati tra extract e convert.
3) Verifica gli edge case: fogli multipli, formule, valori nulli.
4) Test di equivalenza: confronta un export prodotto dal flusso legacy con quello nuovo (numero righe, header, tipi).
5) Rollback plan: conserva il workflow precedente finché non validi al 100% la nuova pipeline.

Consiglio: annota nel titolo/nome del workflow “migrated-from-spreadsheet-file” e aggiungi note su versione n8n e scelte di encoding/delimitatore. Aiuterà chiunque nel team a capire il contesto e ridurre i tempi di debug.

[IMG: tabella di mapping tra vecchio Spreadsheet File e nuovi Extract/Convert]

Quick Takeaways

  • Il nodo spreadsheet file n8n è deprecato: usa Extract From File (lettura) e Convert to File (scrittura).
  • Per leggere: ottieni binario (“data”) → Extract From File → JSON pulito pronto per ETL.
  • Per scrivere: prepara i campi in ordine → Convert to File (Put Output File in Field: file, File Name, Header Row) → salva o invia.
  • CSV robusti: imposta delimiter/encoding coerenti e normalizza gli header.
  • File grandi: usa Split In Batches e filtra a monte per non saturare la RAM.
  • Migrazione sicura: mappa 1:1 legacy → nuovi nodi, aggiungi test di equivalenza e piano di rollback.

Conclusione

Il passaggio dal nodo spreadsheet file n8n ai nuovi Extract From File e Convert to File non è un semplice cambio di nome: è l’occasione per strutturare automazioni più chiare, testabili e veloci. Separando estrazione e scrittura, puoi inserire step di qualità dati, controlli di encoding e normalizzazione header, oltre a pattern più solidi per batch multi-file e file molto grandi. Per i marketer, significa avere export puntuali e coerenti, ETL ripetibili da Excel/CSV a database, e report che non “saltano” alla vigilia della presentazione. Parti dai flussi base (Read/HTTP → Extract → Set/Code → Convert → Write), applica le best practice su CSV (delimitatore/encoding) e XLSX (selezione foglio, conversione formule), e aggiungi osservabilità con Error Trigger e alert su Slack/Email. Se già usavi il nodo spreadsheet file n8n, la migrazione 1:1 è lineare: dedica tempo ai test di equivalenza e alla standardizzazione di schema e tipi. Pronto a fare il salto? Scegli un caso reale (per esempio l’export settimanale lead) e convertilo oggi stesso: vedrai il tempo risparmiato già dal prossimo report.

FAQ

  • Come faccio la n8n lettura file Excel oggi che il nodo spreadsheet file n8n è deprecato?

  • Usa Extract From File con Operation “Extract From XLSX”, imposta Input Binary Field su “data” e definisci un Destination Output Field (es. “rows”). Questo ti restituisce JSON pronto per il tuo flusso.

  • Posso fare parsing CSV con delimitatore personalizzato e gestire encoding?

  • Sì. Con Extract From File (CSV) e Convert to File (CSV) imposta le opzioni di parsing/scrittura per delimitatore e encoding. Standardizza (UTF-8, header coerenti) per evitare sorprese in automazioni.

  • Come estrarre dati da XLSX in n8n scegliendo il foglio specifico?

  • In Extract From File seleziona XLSX e, dove previsto, indica il foglio (per nome/indice). Se ricevi “sheet non trovato”, controlla ortografia e la presenza effettiva del foglio.

  • Come convertire JSON in file di foglio di calcolo per stakeholder?

  • Usa Convert to File: Operation “Convert to XLSX” o “Convert to CSV”, Put Output File in Field “file”, Options → File Name e Header Row. Poi salva con Write Binary File o carica su storage/Drive.

  • Ho vecchi flussi con il nodo spreadsheet file n8n: qual è la migrazione più sicura?

  • Mappa Lettura → Extract From File e Scrittura → Convert to File, aggiungi normalizzazione header e test di equivalenza. Mantieni un piano di rollback finché i nuovi export non sono validati.

Hai trovato utile questa guida? Dimmelo con un commento: quale flusso vuoi automatizzare per primo (import Excel → DB o export CSV settimanale)? Se ti è stata utile, condividila con un collega che usa n8n e salva tempo ogni settimana!

Vuoi automazioni AI su misura per la tua azienda?
Scopri la consulenza →