Da Excel a CSV

Apri un file .xlsx anche senza Office: scegli il foglio, controlla l'anteprima e scarica il CSV con il separatore e il formato delle date che ti servono. Il file resta sul tuo dispositivo.

Trascina qui il file .xlsx

oppure clicca per sceglierlo, resta sul tuo dispositivo, non viene caricato da nessuna parte

🔒 Il file viene aperto dentro il browser: non viene caricato su nessun server.

Come si usa

Trascina il file .xlsx nel riquadro (o clicca per sceglierlo): il tool lo apre, elenca i fogli e mostra l'anteprima delle prime 50 righe. Scegli il foglio, il separatore e il formato delle date, poi scarica il CSV o copialo negli appunti. Cambiando un'opzione l'anteprima si aggiorna subito, così vedi esattamente cosa finirà nel file: quello che leggi nella tabella è già il contenuto del CSV.

Perché un .xlsx si apre senza Excel

Dal 2007 un foglio Excel non è più un formato binario segreto ma un pacchetto OOXML (standard pubblico ECMA-376): sotto il cofano è un archivio ZIP che contiene file XML. Dentro ci sono l'elenco dei fogli (xl/workbook.xml), il testo delle celle messo in comune in un unico dizionario (xl/sharedStrings.xml), i formati numerici (xl/styles.xml) e un file per ogni foglio. Questa pagina apre lo ZIP con la decompressione nativa del browser e legge quegli XML: nessuna libreria, nessun server.

Le date: il numero 45000 e il 29 febbraio 1900 che non è mai esistito

In Excel una data non è una data ma un numero: 1 è il 1° gennaio 1900, 45000 è il 15 marzo 2023. Che sia una data lo dice solo il formato applicato alla cella, quindi il tool legge styles.xml e considera data o orario i formati predefiniti 14-22, 27-36, 45-47 e 50-58 e quelli personalizzati che contengono y, m, d, h o s fuori dalle virgolette (e anche il formato che la cella eredita dal suo stile). C'è poi la trappola storica: Excel crede che il 1900 sia bisestile e che il 29 febbraio 1900 (seriale 60) esista, per compatibilità con il Lotus 1-2-3 del 1983. Per questo dal seriale 61 in poi va tolto un giorno, altrimenti tutte le date escono spostate di 24 ore. I file salvati dal vecchio Excel per Mac usano invece l'epoca 1904: il tool lo rileva e te lo segnala.

Separatore, virgola decimale e BOM: perché il CSV si apre storto

Il CSV non ha uno standard unico. Excel in italiano si aspetta il punto e virgola come separatore e la virgola come segno decimale; quasi tutti i programmi anglosassoni e i gestionali vogliono invece la virgola come separatore e il punto nei decimali. Qui scegli l'una o l'altra combinazione, e i valori che contengono il separatore, virgolette o un a capo vengono racchiusi fra virgolette doppie secondo la regola RFC 4180. Il segno UTF-8 in testa (BOM) è quello che dice a Excel «questo file è UTF-8»: è quando MANCA che gli accenti si sfasciano al doppio clic (è diventa è, ò diventa ò). Lascialo attivo se il file lo aprirai con Excel, toglilo se lo dai in pasto a un programma che vuole il testo puro.

Cosa non fa, dichiarato

Legge solo i .xlsx: il vecchio .xls binario e i file protetti da password non si aprono (te lo dice con un messaggio chiaro, non in silenzio). Le formule non vengono ricalcolate: esce il valore che Excel ha salvato nel file l'ultima volta. I numeri escono come sono memorizzati, senza la formattazione della cella: una percentuale mostrata come 15% esce 0,15 e un importo mostrato come 1.234,50 € esce 1234,5. Gli orari escono sempre a 24 ore con i secondi (una cella che mostra 18:00 esce 18:00:00) e, se una cella con formato di sola data contiene anche un orario, l'orario viene aggiunto invece di essere buttato via. Non vengono esportati grafici, immagini, commenti, colori e celle unite (di una cella unita resta il valore nella prima casella, come fa Excel). Le righe e le colonne nascoste finiscono comunque nel CSV. Sopra le 200.000 righe il tool si ferma e te lo scrive. Per la strada opposta, da un CSV a un foglio di Excel senza rovinare i codici, c'è Da CSV a Excel.