Ho diventare consapevoli dei limiti di apertura di file .csv dei dati dei file in Excel 2007 (versioni precedenti hanno lo stesso problema). Diverse modifiche sono apportate ai dati quando viene aperto il file, compresi almeno i seguenti:
* Campi che sembrano essere di tipo numerico ed hanno zeri iniziali e finali hanno il leader/gli zero finali rimossi
* i valori che Excel pensa che corrispondono a una data come 5-10 vengono assegnati a un tipo di dati di data. La riformatta zione del campo tipo di dati di testo conferisce un valore pazzo come 40308 (probabilmente il numero di giorni dal 1/1/1970 alla data 5/10 nell'anno corrente)
Salvataggio delle modifiche all'originale .csv provoca la perdita permanente dei dati come le modifiche di cui sopra vengono salvati nel file (cosa stavano pensando?!).
Questo problema può essere aggirato utilizzando i dati -> Ottieni dati esterni da strumento testo, ma vorrei trattare i file .csv così spesso che voglio un modo più semplice di ottenere i miei dati aperti senza la corruzione. Sono venuto con il seguente insieme di azioni:
Quando cliccando con il tasto destro su un file .csv in Esplora risorse di Windows, viene visualizzato un menu contestuale con varie opzioni. Sarebbe utile avere un'opzione "Aprire senza corruzione utilizzando Excel" o simili, il quale esegue le seguenti operazioni:
1. Apre Excel
2. Crea un foglio di calcolo vuoto
3. Importazione selezionare il file .csv simili ai comandi seguenti:
a. Selezionare dati -> dal testo
b. Selezionare il file csv per essere importati
c. Scegli "Delimitato" opzione
d. Utilizzare la virgola come delimitatore carattere
e. Selezionare tutte le colonne (tenere premuto Maiuscola e fare clic sulla colonna più a destra testata)
f. Modifica la colonna "dati" in formato a testo
g. Fare clic su Terminare
h. Immettere i dati nella cella A1
4. Ed eventualmente anche alter attualmente aperto il file Excel nome da "Book1" (o qualunque cosa sia) per il nome del file .csv che era stato aperto.
Ho un collega cercando di imparare a programmare con .NET che possono tentare questo ma le domande chiave sono:
1. Sarà possibile eseguire le azioni di cui sopra con .NET?
2. Che cosa è un generale piano di programmazione (forse che i moduli da utilizzare, etc.?) che posso passare al mio collega per lo sviluppo?