sabato 28 marzo 2015

Excel e l'esportazione in csv

Prologo : abbiamo un programma che importa nel nostro gestionale dei files csv e li usa per popolare delle tabelle. Questo files vengono compilati in XLS dagli end user, poi il responsabile li controlla, li salva in CSV e li importa. Se non che il responsabile andava in ferie, e la persona che ha preso questo compito mi ha segnalato un problema quantomeno strano.

Il responsabile usava LibreOffice 4.qualcosa per salvare in CSV, mentre il sostituto ha Excel.
Analizzando i due files CSV (uno generato dal responsabile, uno dal sostituto) ho capito che il problema era, guardacaso, Excel.

Se infatti si seleziona "salva come CSV", Excel non usa la virgola come standar, ma il divisore di testo che trova impostato nel sistema.
Per risolvere questo problema si fa così, per tutte le versioni di windows dopo XP ed Office 2010:
-- Pannello di controllo
--- Paese e Lingua oppure Regional Settings
---- Impostazioni aggiuntive oppure Advanced
----- Mettere come "Separatore di elenco" la virgola.
Click su ok fino a chiudere tutto ed il problema è risolto.
Ora mi chiedo,se CSV sta per comma-separated values ovvero valori separati da virgola, perché diavolo ci metti il punto e virgola?
Capisco che non viene prevista una codifica di default,ma perché LibreOffice ci mette la virgola mentre Excel di appoggia sulle impostazioni del sistema operativo?
Ok, ho capito, sono troppo stupido per pormi tali quesiti!
:-)

Cerca nel blog

I post più letti di sempre