Nextra Hub

Guide

Il CSV non si apre bene in Excel: perché e come si risolve

Si apre il file e tutta la tabella sta nella colonna A: righe lunghissime piene di punti e virgola, nessuna colonna, niente da sommare. Non è un file rotto e quasi mai è colpa di chi lo ha generato. È che Excel non «legge» un CSV: lo importa, e per dividerlo in colonne usa un carattere che non sta scritto dentro il file.

Perché succede: il separatore non è nel file

Un CSV è testo semplice. Il formato non dichiara da nessuna parte quale sia il carattere che separa le colonne: chi lo apre deve saperlo per conto suo. Excel, quando si fa doppio clic su un .csv, non lo chiede — usa il separatore di elenco delle impostazioni internazionali di Windows.

Su un Windows configurato in italiano quel separatore è il punto e virgola, e non per capriccio: siccome in italiano il separatore decimale è la virgola, usare anche la virgola per le colonne renderebbe ogni importo ambiguo. Su un Windows in inglese è la virgola.

Da qui le due facce dello stesso problema, che confondono perché sembrano opposte:

Il punto da tenere è che il file è identico in tutti e due i casi. A cambiare è chi lo apre, e questo spiega la cosa che fa dubitare di aver sbagliato qualcosa: lo stesso file che su un computer si apre bene, sul computer accanto finisce in una colonna.

Le quattro soluzioni, dalla più veloce alla più invasiva

1. Riesportare con il separatore giusto

Se il file lo produci tu, o lo produce uno strumento che ti fa scegliere, è l’unica soluzione che non va rifatta ogni volta. Per Excel italiano: punto e virgola.

2. La riga sep= in testa al file

Excel riconosce una riga iniziale che dichiara il separatore. Si apre il CSV con il Blocco note, si aggiunge come primissima riga:

sep=,

e si salva. Da quel momento Excel divide le colonne sulla virgola a prescindere dalle impostazioni di Windows. Due avvertenze: quella riga non è standard e la capisce solo Excel — altri programmi la mostrano come una cella di testo in cima — e rende il file meno adatto a essere riletto da un programma.

3. Testo in colonne, dopo l’apertura

Il file è già aperto male ed è tutto nella colonna A. Si seleziona la colonna, poi Dati → Testo in colonne → Delimitato, si spunta il separatore vero (virgola o punto e virgola), e si conferma.

È la via rapida, e ha un difetto serio di cui parla il paragrafo dopo: qui Excel decide da solo il tipo di ogni colonna, e su alcune sbaglia in modo silenzioso.

4. Importa dati, che è quella giusta quando i dati contano

Invece di aprire il file, lo si importa: Dati → Recupera dati → Da testo/CSV (nelle versioni più vecchie: Da testo). Compare un’anteprima in cui si scelgono separatore e codifica, e — premendo Trasforma dati — si può dichiarare il tipo di ogni singola colonna prima che Excel lo indovini.

Costa tre clic in più e risolve in un colpo quasi tutti i problemi elencati qui sotto. Su una tabella di fatture, è la strada da preferire.

E la quinta, che è meglio non prendere

Si può cambiare il separatore di elenco in Pannello di controllo → Paese e lingua → Impostazioni aggiuntive. Funziona, ma agisce su tutto il sistema e su tutti i file: da quel momento gli altri CSV — quelli che finora si aprivano bene — cominceranno a non aprirsi più. Si sposta il problema, non si risolve.

Il problema sotto il problema: le colonne ci sono, i dati sono sbagliati

Sistemato il separatore, la tabella sembra a posto. È il momento in cui conviene guardare meglio, perché i difetti che restano non danno nessun messaggio d’errore.

Una cosa che riguarda la sicurezza, non la forma

In un CSV di fatture ricevute, descrizioni e ragioni sociali le scrive chi manda la fattura. Un valore che comincia per =, +, - o @ viene trattato dal foglio come una formula, e viene eseguito all’apertura. È una tecnica nota con il nome di CSV injection: la formula può leggere altre celle e provare a mandarle fuori.

Non è un problema teorico per chi lavora con fatture altrui, ed è un motivo concreto per non aprire un CSV di provenienza incerta con un doppio clic. Chi genera il file dovrebbe neutralizzare quei valori come testo.

Come esce il CSV dal nostro convertitore

Il convertitore XML in PDF ed Excel scrive il file già nella forma che Excel italiano si aspetta, così i passaggi di questa guida non servono:

Resta un caso che nessun generatore può risolvere da solo: se apri quel file su un Excel configurato in inglese, il punto e virgola non sarà il suo separatore e finirai di nuovo in una colonna. Lì serve la via numero 4, l’importazione con separatore esplicito.

La conversione avviene nel browser: le fatture dei tuoi clienti non escono dal tuo computer.

Modello informativo da far verificare a un professionista abilitato.

Voglio tante fatture in un foglio Excel

Un foglio di calcolo ordinato con tutte le fatture, fino a 50 per volta.

Converti le fatture

Gratis: 5 fatture al giorno. Senza registrarti.

Guide collegate