Perché i file CSV si corrodono in Excel: Codifica, delimitatori e zeri iniziali
Indice dei contenuti
- Diagnosi diretta: Formato file vs. Interpretazione di Excel
- La trappola del mojibake: UTF-8 vs. UTF-8 con BOM
- Il conflitto regionale tra virgola e punto e virgola (Tutto nella Colonna A)
- Virgolette e interruzioni di riga nei campi (Norma RFC 4180)
- Zeri iniziali cancellati e limite di precisione a 15 cifre
- Procedura ufficiale di importazione in Microsoft Excel
- Strumenti client sicuri di GoToolstack per file CSV
- Riferimenti tecnici e standard ufficiali
1. Diagnosi diretta: Formato file vs. Interpretazione di Excel
Un file CSV (valori separati da virgola) è semplicemente un flusso di testo normale non formattato. Quando un CSV viene visualizzato danneggiato in Microsoft Excel (con caratteri illeggibili, tutte le colonne accorpate nella colonna A o cifre numeriche azzerate), il file originale è quasi sempre integro. L'errore deriva dalle convenzioni automatiche di apertura di Excel.
Il doppio clic costringe Excel a indovinare codifica e delimitatori dalle impostazioni locali di Windows. Per risolvere definitivamente il problema, occorre distinguere quattro regole tecniche:
2. La trappola del mojibake: UTF-8 vs. UTF-8 con BOM
Le moderne applicazioni web esportano testo normale in UTF-8 senza Byte Order Mark. Tuttavia, su Windows, Excel assume come predefinita la tabella codici ANSI locale (Windows-1252 in Europa occidentale).

Senza la sequenza BOM di 3 byte (0xEF, 0xBB, 0xBF) all'inizio del file, Excel legge i caratteri UTF-8 multibyte come lettere ANSI distinte, producendo caratteri illeggibili (mojibake):
| Testo originale | Visualizzazione errata in Excel (senza BOM) | Meccanismo dell'errore |
|---|---|---|
München / İstanbul |
München / İstanbul |
UTF-8 2-byte → ANSI Mojibake |
Français / Español |
Français / Español |
Diacritics parsed as individual code points |
€ 1,500 / ₺ 5,000 / ¥ 10,000 |
€ 1,500 / ₺ 5,000 / ¥ 10,000 |
Multi-byte currency symbols decoded into ANSI artifacts |
Se esporti file CSV destinati a Excel, includi sempre il BOM UTF-8. Nel convertitore JSON ↔ CSV di GoToolstack basta selezionare Aggiungi UTF-8 BOM (\uFEFF) per Excel.
3. Il conflitto regionale tra virgola e punto e virgola (Tutto nella Colonna A)
Negli Stati Uniti e nel Regno Unito, il punto è il separatore decimale (12.50) e la virgola separa le colonne. In Italia e nell'Europa continentale, la virgola è per legge il separador decimale (12,50).
Poiché una virgola non può essere contemporaneamente punto decimale e separatore di colonna, Windows definisce il punto e virgola (;) come ListSeparator predefinito. Aprendo con doppio clic un CSV con virgole, Excel non trova punti e virgola e inserisce l'intera riga nella Colonna A.
Esporta i file con punto e virgola oppure usa la funzione Dati > Da testo/CSV di Excel per impostare esplicitamente la virgola.
4. Virgolette e interruzioni di riga nei campi (Norma RFC 4180)
Se il valore di una cella contiene virgole, punti e virgola o testi su più righe, la specifica RFC 4180 richiede di racchiudere il campo tra doppi apici. Le virgolette interne vengono precedute da un'altra virgoletta (""):
ID,Customer,Address,Notes
101,"Acme, Inc.","123 Industrial Way
Suite 400","Order confirmed with ""Express"" shipping"5. Zeri iniziali cancellati e limite di precisione a 15 cifre
Excel cerca di dedurre il tipo di dato per ogni colonna non formattata. Se una cella contiene solo numeri, Excel la converte in valore a virgola mobile, provocando due perdite irreversibili:
Zeri iniziali eliminati: Codici di avviamento postale e numeri di telefono (es: "01234") vengono convertiti in numeri interi (1234). Gli zeri iniziali vengono cancellati definitivamente dalla memoria.
Limite di precisione a 15 cifre (Motore Excel vs. IEEE 754): Il motore di calcolo di Microsoft Excel impone un limite di 15 cifre significative. Sebbene lo standard IEEE 754 gestisca numeri interi fino a 253 (9.007.199.254.740.992, pari a 16 cifre) senza perdite, Excel sostituisce con zeri tutte le cifre successive alla 15ª (1234567890123456 → 1234567890123450)!
AVVISO FONDAMENTALE: Formattare la cella come 'Testo' dopo l'apertura non recupera le cifre perdute. I numeri originali sono distrutti non appena caricati in memoria.
6. Procedura ufficiale di importazione in Microsoft Excel
Per aprire qualsiasi file CSV senza caratteri corrotti né cifre perse, applica la procedura Power Query:
- Apri Excel con una cartella di lavoro vuota (non fare doppio clic sul file CSV).
- Vai alla scheda Dati > Recupera dati > Da file > Da testo/CSV.
- Nella finestra di anteprima, seleziona Origine file:
65001: Unicode (UTF-8). - Imposta il Delimitatore corretto (Virgola o Punto e virgola).
- Fai clic su Trasforma dati. Nell'editor Power Query imposta su Testo il tipo delle colonne con codici o numeri telefonici.
- Seleziona Chiudi e carica per inserire i dati intatti nel foglio.
- Salva la cartella di lavoro in formato Excel (
.xlsx) invece di sovrascrivere il file CSV originale grezzo, preservando intatti i dati sorgente.
7. Strumenti client sicuri di GoToolstack per file CSV
Elabora i tuoi dati tabulari direttamente nel browser nel rispetto della privacy:
- Convertitore JSON ↔ CSV: Inserisci il BOM UTF-8, scegli delimitatori e personalizza terminatori CRLF/LF.
- Convertitore Excel ↔ CSV/JSON: Conversione in memoria locale con SheetJS nel browser.
- Hub Strumenti Sviluppatori: Suite completa di formattatori e validatori.
Riferimenti tecnici e standard ufficiali
- IETF RFC 4180: Formato comune e tipo MIME per i file di valori separati da virgola (CSV) (Regole di virgolette e terminatori CRLF).
- Microsoft Learn / Support: Importare o esportare file di testo (.txt o .csv) in Microsoft Excel (Conservazione dei tipi con Power Query).
- Unicode Consortium: FAQ – Linee guida su UTF-8, UTF-16, UTF-32 e indicatore dell'ordine dei byte (BOM).