in data 07-10-2015 03:40 AM
Salvare. Avrei necessità di prendere i valori di un array bidimensionale e scriverli su un file in formato csv.
Riesco a scriverli però non mi da la giusta formattazione.
Se io ho un array composto così: 1 2 3 4 5
e lo vado a scrivere su questo file excel, i numeri 1 2 3 4 e 5 non vengono scritti ciascuno in una cella separatamente, ma vengono messi tutti insieme nella stessa celletta come se fossero un numero unico, in questo caso il numero 12345.
Sto utilizzando il blocco write to spreadsheet file e come valore di delimiter sto utilizzando quello di default, ovvero \t, che infatti corrisponde al tab. Il tab su un file per blocco note me lo prende correttamente, ma se provo a scrivere su un file excel mi si presenta il problema che vi ho spiegato sopra.
Qualcuno sa aiutarmi?!
Non credo ci sia niente di difficile ma non so dove sbaglio.
Saluti
Giovanni
07-10-2015 06:19 AM - modificato 07-10-2015 06:22 AM
Mi sembra di capire che il problema non è scrivere il file ma rileggerlo dentro Excel, giusto?
Hai un po' di alternative al riguardo:
L'ultima opzione è la più drastica perchè si riflette su tutti i programmi che leggono/scrivono elenchi (Excel ma non solo). Per la separazione dei campi Excel si appoggia sul cd "separatore di elenco" definito nel sistema; tale separatore può essere modificato ed è attivo dal momento della modifica per tutti i programmi del PC. Per la modifica è più semplice se guardi questa immagine:
Una volta impostato il tabulatore come separatore (nota che devi scrivere "\t" come ti ho riportato) quello e il precedente separatore rimangono memorizzati nella combobox, per cui è abbastanza semplice alternare i due metodi, anche se devi comunque trafficare col pannello di controllo.
in data 07-10-2015 06:27 AM
Perfetto!!
Grazie mille, ora funziona. Ho scelto l'opzione di modificare il file excel.
Quando passerò il sw funzionante ai collaudatori delle macchine farò presente questa cosa. Altrimenti farò salvare i file in un txt e dirò agli operatori di copiare ed incollare il contenuto del file all'interno di un file excel. Vedremo.
Ne parlerò col mio capo.
Grazie mille
Saluti
Giovanni
07-10-2015 06:32 AM - modificato 07-10-2015 06:32 AM
Se è un txt dovresti poter fare click destro >> Apri con... >> Excel
Al massimo la prima volte devi andarti a cercare il programma ma poi rimane memorizzato fra le scelte predefinite.
in data 11-20-2015 06:33 AM
In Excel 2013 e successivi devi creare un file di testo con estensione CSV, in cui la prima riga scrivi :
sep=\t
seguita da 2 ritorni a capo.
Cosi' facendo hai il "doppio click" che apre correttamente il file.
Cella A1 avra' la scritta "sep=\t"
dalla cella C1 avrai il primo valore, C2, il secondo, ecc...
dalla cella D1 la seconda riga...
Purtroppo la vera soluzione e' usare l'office toolkit, e produrre un "vero" file excel. Non e' difficile.
Si chiama OpenXML
https://msdn.microsoft.com/en-us/library/office/bb448854.aspx
lo studi, fai qualche prova, ti crei dei subvi "wrapper", in sostanza ti fai le tue API, e lo usi.
fine della storia.
PS: i CSV sono obsoleti, non servono a una ceppa