CSV → Excel

CSV convertito in .xlsx con rilevamento del separatore. Gratis, senza upload. max 1 GB · Fino a 1 GB · Elaborato localmente, mai inviato a un server.

L’export di un gestionale, di una banca, di un negozio online o di un CRM arriva quasi sempre in CSV. Aperto con un doppio clic in Excel, a volte si dispone correttamente, a volte finisce tutto nella colonna A, a volte mostra gli accenti a pezzi. L’esito dipende dalla versione di Excel, dal separatore usato e dalle impostazioni internazionali della postazione: lo stesso allegato non si apre allo stesso modo su due computer diversi.

Questo strumento produce una vera cartella di lavoro .xlsx, che si apre identica ovunque. Il file viene letto, il separatore rilevato sulle prime dieci righe, la tabella costruita da SheetJS, le larghezze delle colonne calcolate, e infine la cartella di lavoro scritta su disco. Il separatore scelto, insieme al numero di righe e di colonne, viene mostrato alla fine dell’operazione.

Il lavoro vero, però, non sta lì. Un CSV è un file di testo senza tipi: niente al suo interno distingue un CAP da un numero, né il 3 aprile dal 4 marzo. La conversione deve quindi decidere al posto tuo, ed è esattamente lì che i dati si rovinano. Le sezioni che seguono descrivono quelle decisioni una per una, con i valori esatti che ne escono.

Come si usa

  1. Caricare il file CSV o TSV Un file alla volta, in .csv o .tsv. Il contenuto viene letto come testo codificato in UTF-8, e l’eventuale marcatore di ordine dei byte presente in testa viene tolto.
  2. Lasciar lavorare il rilevamento del separatore Vengono esaminate le prime dieci righe: punto e virgola, virgola e tabulazione vengono contati e vince il più frequente. In caso di parità passa avanti il punto e virgola.
  3. Premere Avvia Viene caricata SheetJS, la tabella viene analizzata e a ogni cella viene assegnato un tipo, testo, numero o data, senza consultarti.
  4. Leggere la riga di risultato Ci trovi il numero di righe, il numero di colonne e il separatore che è stato adottato. Un numero di colonne inatteso segnala un rilevamento andato male, da correggere prima di procedere.
  5. Aprire la cartella di lavoro e controllare tre colonne Il file contiene un unico foglio chiamato Sheet1. Controlla per prime le colonne di codici, di importi e di date: è lì che si concentrano le sorprese.

Il separatore, prima trappola degli export italiani

I gestionali italiani esportano in larghissima maggioranza con il punto e virgola, proprio perché da noi la virgola fa da separatore decimale; gli strumenti di area anglosassone usano la virgola, e certe estrazioni da database usano la tabulazione. Il rilevamento conta questi tre caratteri sulle prime dieci righe e tiene quello più presente, il che copre la stragrande maggioranza dei file che circolano.

Il conteggio ha però un punto debole: non distingue un separatore da un carattere che si trova dentro un campo racchiuso fra virgolette. Un file separato da virgole i cui indirizzi contengono punti e virgola può quindi essere spezzato nel posto sbagliato e uscire su una colonna sola. Da qui l’utilità di leggere il numero di colonne indicato alla fine della conversione.

Accenti a pezzi e zeri iniziali che spariscono

Il file viene letto in UTF-8. Un CSV salvato nella vecchia codifica Windows occidentale esce quindi con un rombo nero contenente un punto interrogativo al posto di ogni lettera accentata: società, perché e città diventano illeggibili. La correzione va fatta a monte: in Excel salva di nuovo scegliendo il tipo CSV UTF-8; in LibreOffice spunta UTF-8 nella finestra del filtro. Il marcatore di ordine dei byte che Excel mette in testa al file viene invece tolto in automatico.

Gli zeri iniziali, quelli, non sopravvivono. Un CAP 00185 diventa il numero 185, una partita IVA 01234567890 diventa 1234567890, un numero fisso milanese 0212345678 diventa 212345678, un codice articolo 00123 diventa 123. Racchiudere il valore fra virgolette non cambia nulla, e nemmeno anteporgli uno spazio. Funzionano due accorgimenti, entrambi da applicare prima della conversione: far precedere il valore da un carattere non numerico, oppure scrivere il campo come un segno di uguale seguito dal valore fra virgolette, una notazione che certi export producono già e che resta testo.

Numeri e date, quello che la conversione decide al posto tuo

La virgola decimale non viene riconosciuta come tale: la convenzione applicata è quella anglosassone, dove la virgola separa le migliaia. Un importo scritto 12,50 diventa il numero 1250, e 1234,56 diventa 123456. L’errore è silenzioso e la sua portata è enorme: su un listino prezzi di duemila righe non se ne accorge nessuno finché qualcuno non somma la colonna. Scritto con il punto, 12.50 viene letto correttamente; scritto con uno spazio come separatore delle migliaia resta testo, quindi non sommabile.

Le date vengono lette all’americana, con il mese davanti: 03/04/2025 diventa il 4 marzo 2025 invece del 3 aprile. Più fastidioso ancora, nella stessa colonna 25/12/2024 non ha nessuna lettura possibile in quella convenzione e resta testo. Una colonna di date scritte all’italiana esce quindi in parte come date vere ma spostate, in parte come testo, e questo rende impossibile qualunque ordinamento cronologico. Solo la forma internazionale, 2025-04-03, attraversa la conversione intatta. Le percentuali diventano decimali senza formato di visualizzazione: 12% diventa 0,12.

Che cosa contiene la cartella di lavoro prodotta

Il risultato è un file in formato Office Open XML, con un solo foglio chiamato Sheet1 che contiene i valori e nient’altro: nessuna formula, nessun colore, nessun filtro, nessun riquadro bloccato. Le larghezze delle colonne sono calcolate soltanto sulle prime 200 righe e limitate fra 8 e 48 caratteri; una colonna di date arriva spesso al valore massimo, cosa che si sistema con un doppio clic sul bordo dell’intestazione.

La lettura del file e la costruzione della cartella di lavoro avvengono nel browser, con SheetJS servita direttamente dal sito al momento della conversione. Il contenuto del CSV non viene inviato a nessun servizio, il che non è un dettaglio da poco quando il file è un export contabile, un elenco clienti o un registro del personale.

Domande frequenti

I miei importi sono stati moltiplicati per cento, che cosa è successo?

La virgola decimale è stata scambiata per un separatore delle migliaia: 12,50 è diventato 1250. Sostituisci le virgole decimali con dei punti nel CSV prima di convertire, oppure correggi l’intera colonna nel foglio di calcolo una volta aperto.

Come faccio a conservare lo zero iniziale di un CAP?

Non lo proteggono né le virgolette né uno spazio davanti. Prima della conversione, fai precedere il valore da un carattere non numerico, oppure scrivi il campo come un segno di uguale seguito dal valore fra virgolette, che viene conservato come testo.

Perché gli accenti sono illeggibili?

Il file non era codificato in UTF-8. Riaprilo e risalvalo scegliendo il tipo CSV UTF-8 in Excel, oppure la codifica UTF-8 nella finestra del filtro di LibreOffice, poi rilancia la conversione.

Perché tutta la mia tabella sta in una sola colonna?

Il separatore rilevato non era quello giusto, di solito perché un altro carattere candidato risultava più frequente nelle prime dieci righe, anche dentro i campi fra virgolette. Individua il separatore vero in un editor di testo e sostituiscilo.

Il file ottenuto si apre anche fuori da Excel?

Sì. È un .xlsx standard, leggibile da Excel 2007 e successivi, LibreOffice Calc, Fogli Google e Numbers, senza nessuna conversione ulteriore.

Posso riunire più CSV in un’unica cartella di lavoro?

No, ogni conversione tratta un file e produce una cartella di lavoro con un foglio solo. Convertili separatamente, poi raggruppa i fogli nel tuo foglio di calcolo se ti serve averli insieme.

Il contenuto del mio CSV viene caricato su un server?

No. Il file viene letto dal disco e la cartella di lavoro costruita dentro la scheda del browser; l’unica richiesta di rete è il prelievo della libreria SheetJS dai file del sito, che non trasporta nessun dato del tuo file. Per un export contabile, un elenco clienti o un registro del personale è la differenza fra un dato che resta sulla tua macchina e un dato depositato su un servizio terzo.

Il mio CSV è separato dal punto e virgola e in Excel finisce tutto nella colonna A: questo lo risolve?

Sì, perché non ne esce un altro file di testo ma un vero .xlsx, dove le colonne sono una struttura del file e non un carattere da interpretare: si apre identico su qualsiasi postazione, quali che siano le impostazioni internazionali. Il punto e virgola non va dichiarato da nessuna parte, viene riconosciuto da solo. Alla fine della conversione controlla comunque il numero di colonne indicato: è lì che si vede subito se il file è stato letto come volevi.

Serve un account e c’è un limite di righe?

Nessun account, nessuna quota giornaliera e nessuna filigrana. Si converte un file alla volta, in .csv o in .tsv, e nel codice non c’è nessun tetto di righe: il limite pratico è la memoria dell’apparecchio, dato che la tabella viene costruita interamente in memoria, mentre il formato .xlsx si ferma per costruzione a 1.048.576 righe. I file sono accettati fino a 1 GB, con un avviso oltre i 400 MB a seconda della memoria disponibile.

Strumenti simili

Scopri altri strumenti

Categorie