CSV impedisce a Excel di modificare i valori di colonna


1

Ecco il patto. Ci stiamo avvicinando ai limiti, penso a cosa puoi fare con CSV, ma mi chiedo se qualcuno abbia una soluzione.

Abbiamo un file CSV che ha una dimensione di 357 MB. Download bene e non richiede troppo tempo con una buona connessione.

Tuttavia, la maggior parte dei client apre quel file in Excel. E ci sono diversi problemi:

  • Un campo 00400mostrerà come 40(zero iniziali rimossi)
  • Un valore di 0.04088100 diventerà 4.08E-2 (o qualcosa del genere)
  • Date e orari vengono cambiati

La BAD fix: abbiamo provato ad aggiungere un =carattere prima di "0040"- funziona per file piccoli ma non per un file di grandi dimensioni - Excel non può trattarli tutti come formule, troppa memoria e file non si aprono mai

La buona soluzione: abbiamo aggiunto un carattere ASCII 28 (a File Stopo FS, vedi http://www.theasciicode.com.ar/extended-ascii-code/uppercase-slashed-zero-empty-set-ascii-code-157.html ) Tutti i campi con questo valore "nascosto" sono stati visualizzati correttamente, tranne per il fatto che sono lasciati giustificati (poiché trattati un testo)

L'unico problema: purtroppo la buona soluzione ha un problema. Quando usi la formattazione per giustificare a destra i campi con CHR (28) a sinistra, c'è un piccolo spazio a destra, che non puoi eliminare perché elimina invece il carattere giusto.

UNA POSSIBILE correzione: Abbiamo fatto alcuni esperimenti e abbiamo scoperto che l'aggiunta di CHR (157) a sinistra dei valori di campo abusati di Excel lo ha bloccato e giustificato a destra. Tuttavia , mi sento molto strano nel farlo, e mi chiedo se ci siano degli svantaggi.

Potrebbe sembrare una domanda oscura; Ho fatto molte ricerche su questo. C'è un approccio migliore? I requisiti non consentiranno il salvataggio del file come file .xlxs ecc.


2
Se i tuoi utenti modificano e salvano il file, probabilmente non aggiungeranno un carattere davanti ai numeri, rovinando il file. Suggerisco di renderlo un .txtfile (che presenterà la procedura guidata di importazione del testo quando viene aperto in Excel e possono designare la colonna come testo); o averli IMPORT e non APRIRE il file CSV (che farà la stessa cosa).
Ron Rosenfeld,

Risposte:


0

A rischio di sembrare disfattista, cercherei una soluzione alternativa. Ecco perché:

Il problema più spaventoso è A value of 0.04088100 will become 4.08E-2perché Excel sta cambiando quel valore ; se si salva il file, si perderà la precisione e le ultime, tuttavia, molte cifre saranno impostate su 0. Ho questo regolarmente cercando di abbinare numeri lunghi da 20 o 30 cifre a cui Excel si oppone.

Inoltre, l'inserimento di caratteri invisibili causerà mal di testa solo quando le persone vi inciamperanno; se qualcuno elimina accidentalmente il personaggio invisibile, non sarà in grado di rientrare negli zeri iniziali e non saprà perché. Questo sarà anche un problema se tali linee vengono mai importate da qualche parte; anche se sai come reagiranno Blocco note ed Excel, cosa succede se quelli sono caratteri di controllo in un'altra applicazione?

Buona fortuna.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.