Esporti un CSV dalla tua piattaforma BI. Apri in Excel italiano. Risultato: "perchè" invece di "perché", "cittÃ" invece di "città". Il responsabile commerciale ti chiede "questo file è rotto". Problema di encoding. Vediamo come esportare CSV professionali per Excel italiano.
Il problema tecnico
Excel italiano (Windows) si aspetta encoding Windows-1252 di default. La maggior parte dei file moderni usa UTF-8.
Quando Excel apre un CSV UTF-8 senza il "marker" giusto, lo interpreta come Windows-1252 → caratteri speciali sbagliati.
La soluzione: BOM UTF-8
BOM = Byte Order Mark. 3 byte all'inizio del file (0xEF 0xBB 0xBF) che dicono a Excel "questo file è UTF-8".
Excel riconosce e importa correttamente.
Come implementare
In PHP
= chr(0xEF) . chr(0xBB) . chr(0xBF);
file_put_contents('export.csv', . );
In Node.js
const bom = '';
fs.writeFileSync('export.csv', bom + contenutoCSV);
In Python
with open('export.csv', 'w', encoding='utf-8-sig') as f:
f.write(contenuto)
utf-8-sig aggiunge automaticamente BOM.
ReportIA fa già tutto
Quando esporti CSV da ReportIA, il BOM UTF-8 è aggiunto automaticamente. Excel italiano apre correttamente.
Altri problemi comuni
Separatori
Excel italiano si aspetta punto e virgola (;) come separatore, non virgola (,).
ReportIA permette di scegliere:
- Punto e virgola (Excel italiano default).
- Virgola (Excel inglese, generico CSV).
- Tab (TSV).
Virgolette per testi con virgole
Se un campo contiene virgola/punto e virgola/newline, deve essere quotato:
"Mario Rossi","Roma, Italia","mario@email.it"
Virgolette dentro virgolette: doppia virgoletta:
"Cliente ""speciale"" Rossi"
Date in formato italiano
Excel italiano formato date: GG/MM/AAAA (15/05/2026), non MM/GG/AAAA (05/15/2026).
Best practice CSV: usa YYYY-MM-DD (ISO 8601). Excel lo riconosce sempre correttamente in qualsiasi locale.
Numeri con virgola decimale
Excel italiano:
- Decimale: virgola (1.234,56).
- Migliaia: punto.
Excel inglese: opposto (1,234.56).
Best practice CSV: punto come decimale, niente migliaia (1234.56). Excel converte poi nel formato locale.
Test di validazione
Prima di accettare un CSV come "buono":
- Apri in Excel italiano.
- Verifica accenti corretti (à, è, ì, ò, ù).
- Verifica separatori interpretati correttamente.
- Verifica numeri (somma colonna funziona).
- Verifica date (ordinate cronologicamente).
- Verifica testi con virgole (non spezzati).
Se passa tutti: il CSV è ben formato.
Alternative al CSV
XLSX (Excel nativo)
Per casi delicati, esporta direttamente in XLSX:
- Encoding nativo Excel.
- Multi-sheet.
- Formattazione (colori, bold).
- Formule.
Tecnologia PHP: PhpSpreadsheet, librerie simili in altri linguaggi.
JSON
Per integrazioni con sistemi moderni: JSON elimina problemi di encoding (sempre UTF-8).
Per report finali (read-only): PDF mantiene formattazione perfetta.
Caso d'uso reale
Controllo gestione esporta lista clienti dalla BI:
- 200 righe.
- Colonne: nome, città, P.IVA, fatturato.
- Nomi con accenti (caffè, perché, città).
Senza BOM: Excel rovina tutti gli accenti. Manuale lavoro per correggere.
Con BOM: apre perfetto. Ordinabili, sommabili.
I moduli ReportIA correlati
Scopri ReportIA con CSV BOM UTF-8 nativo.