Succedono due cose diverse. Un numero lungo visualizzato come 4.02177E+19 può essere solo un formato di visualizzazione, che si cambia allargando la colonna o applicando il formato Numero. Ma quando apre un CSV, Excel converte anche il valore stesso: una cella numerica conserva solo 15 cifre significative, e gli zeri iniziali non fanno parte di un numero. Nessuna formattazione può riportare cifre già sostituite. Per conservare i valori bisogna che diventino celle di testo prima della conversione: importa quelle colonne come Testo, oppure apri un file XLSX con celle già in formato testo, come quello che il convertitore da CSV a Excel crea per impostazione predefinita.
Cosa fa Excel a un file pieno di codici e identificativi
Un CSV è testo semplice, senza tipi di cella: quando lo apri con un doppio clic, Excel prova a indovinare per ogni valore se sia un numero, una data o un testo. Il file di fantasia qui sotto contiene proprio i valori su cui questa ipotesi sbaglia.
| Valore | Nel CSV | Excel apre il CSV | Cella nell’XLSX di ViewCSV |
|---|---|---|---|
| Zeri iniziali | 00412 | 412 | 00412 |
| Riferimento ordine di 20 cifre | 40217730091152400016 | 4.02177E+19 | 40217730091152400016 |
| Il riferimento ordine successivo | 40217730091152400017 | 4.02177E+19 | 40217730091152400017 |
| Numero di telefono con il più | +15550100234 | 15550100234 | +15550100234 |
| Codice articolo che sembra una data | 3-12 | 12-Mar | 3-12 |
| Codice lotto con una E | 12E3 | 1.20E+04 | 12E3 |
| Nota che sembra una formula | =SUM(F2:F3) | 17 | =SUM(F2:F3) |
1,20E+04 e 4,02177E+19, e 3-12 viene letto come 3 dicembre (giorno e poi mese). I risultati variano anche in base alla versione.Entrambi i riferimenti ordine compaiono come 4.02177E+19, ma questa è solo la visualizzazione. Sotto, Excel ha conservato soltanto le prime 15 cifre, quindi le due celle contengono ora lo stesso valore, 40217730091152400000. Allargando la colonna si vedono questi zeri, non le cifre originali, e un CERCA.VERT o una rimozione dei duplicati tratta i due ordini come uno solo.
Queste righe sono l’esempio del convertitore. Scarica il CSV, aprilo nel tuo Excel e confronta.
La notazione scientifica è solo visualizzazione, le cifre perse sono perse davvero
4.02177E+19 è semplicemente il modo in cui una colonna in formato Generale troppo stretta mostra un numero grande; allargandola o usando il formato Numero si vedono più cifre. La vera perdita avviene prima: Excel memorizza i numeri con una precisione di 15 cifre significative, quindi ogni cifra dalla sedicesima in poi diventa zero durante la conversione. Un numero di carta o di conto di 16 cifre perde già l’ultima.
- Gli zeri iniziali spariscono perché
00412e412sono lo stesso numero. Un formato personalizzato come00000può mostrare di nuovo cinque cifre, ma la cella contiene sempre 412, e codici di lunghezza variabile non si ripristinano così. - I codici lunghi perdono tutte le cifre dopo la quindicesima. Nessun formato, formula o strumento può recuperarle da un file salvato dopo la conversione.
- Codici come
3-12o12E3diventano una data o un numero in notazione scientifica, e il testo originale non è più nella cella. - I valori che iniziano con
=vengono trattati come formule e sostituiti dal loro risultato.
Crea invece un XLSX con celle di testo
A differenza di un CSV, una cartella di lavoro .xlsx memorizza il tipo di ogni cella, ed Excel mostra una cella di testo esattamente come è stata scritta. Il convertitore da CSV a Excel scrive per impostazione predefinita ogni valore come cella di testo. Funziona nel browser e non carica il file su nessun server.
- Apri il tuo CSV nel convertitore da CSV a Excel, oppure seleziona Prova un esempio per caricare le righe mostrate sopra.
- Controlla la tabella in Dati di origine: codici, zeri e identificativi compaiono esattamente come nel file.
- Lascia Tipi di valore su Tratta tutti i valori come testo.
- Seleziona Scarica XLSX e apri la cartella di lavoro in Excel.
Nella cartella di lavoro, 00412, tutte le 20 cifre di entrambi i riferimenti ordine, +15550100234, 3-12, 12E3 e =SUM(F2:F3) sono celle di testo. Un valore che sembra una formula viene memorizzato come semplice testo, quindi all’apertura non viene calcolato nulla. Excel può segnalare il testo dall’aspetto numerico con un piccolo triangolo verde (Numero memorizzato come testo); il valore resta invariato.
quantity o unit_price, leggi la sezione successiva invece di convertire intere colonne in Excel, dove anche una colonna di codici selezionata per sbaglio verrebbe convertita.Quando servono anche numeri veri
Riconosci numeri e true/false rende numerica una colonna solo se tutti i suoi valori sono numeri semplici che Excel può memorizzare senza modificarli. Nell’esempio, quantity e unit_price diventano numeri, mentre customer_id (zeri iniziali), order_ref (più di 15 cifre), part_code e note restano testo.
Il riconoscimento valuta la forma dei valori, non il loro significato, e decide per l’intera colonna. Una colonna fatta solo di valori come +15550100234 viene letta come numeri interi con segno, e una fatta solo di valori come 12E3 come notazione scientifica: nell’esempio diventerebbero numeri anche phone e lot_code. Per file di questo tipo, mantieni l’impostazione predefinita e converti in Excel solo le celle delle quantità: selezionale e scegli Converti in numero dall’icona di avviso.
Se devi partire dal CSV in Excel
Se una cartella di lavoro convertita non è un’opzione, non aprire il CSV con un doppio clic: importalo e imposta le colonne a rischio come Testo prima di caricare qualsiasi dato. Nell’attuale Excel per Microsoft 365 si passa da Dati > Da testo/CSV > Trasforma dati, si elimina il passaggio automatico Modificato tipo, si impostano le colonne dei codici come Testo e si carica. La guida per importare un file CSV in Excel spiega questo metodo e anche la vecchia Importazione guidata testo.
Le build recenti di Excel per Microsoft 365 ed Excel 2024 offrono inoltre, tra le opzioni dei dati, impostazioni di conversione automatica dei dati che possono impedire la rimozione degli zeri iniziali, l’arrotondamento dei numeri lunghi, la notazione E e la trasformazione in date. Cosa è disponibile e come si chiama dipende dalla versione e dalla piattaforma, e queste impostazioni valgono solo per il tuo Excel, non per quello dei colleghi.
Cosa non protegge i valori
- Le virgolette attorno al valore (
"00412") indicano solo al lettore CSV dove inizia e finisce un valore. Excel converte i numeri tra virgolette esattamente allo stesso modo. - Il BOM UTF-8 (byte order mark) aiuta Excel a leggere correttamente lettere accentate e altri alfabeti. Non dice nulla sui tipi di cella.
- Formattare la colonna come Testo dopo l’apertura arriva troppo tardi, perché la conversione è già avvenuta.
- Formule contenitore come
="00412"funzionano solo dove un foglio di calcolo valuta le formule. Altri lettori CSV, database e script vedono il testo letterale="00412", quindi il dato nel file non è più il codice. - Un apostrofo iniziale (
'00412) non è una formula: digitato in Excel, contrassegna il valore come testo e non viene mostrato. In un file CSV, però, è solo un carattere, e gli altri programmi ricevono'00412come valore. - Una vera cella di testo in un XLSX conserva il valore puro
00412senza caratteri aggiunti. È ciò che scrive il convertitore: ViewCSV non aggiunge né formule contenitore né apostrofi.
Limiti
Il convertitore gestisce file fino a 25 MB, 100.000 righe, 250 colonne e 2 milioni di celle, con un foglio per cartella di lavoro. Un file già salvato con codici arrotondati o zeri tolti non si ripara convertendolo: esportalo di nuovo dalla sua origine. I test di ViewCSV verificano i tipi di cella dell’XLSX generato con un lettore indipendente; il modo in cui una certa versione di Excel li mostra a schermo può variare.
Fonti
Documentazione Microsoft, riassunta con parole nostre. I nomi dei menu possono essere diversi nella tua versione di Excel.