File Excel su SD

ciao,
sto cercando di scrivere i dati di temperatura e umidità rilevati in un file excel all'interno di una scheda SD collegata ad Arduino.
In un file .txt non ho riscontrato problemi:

myFile = SD.open("Dati.txt", FILE_WRITE);
if (myFile) {
myFile.print("Temperatura (°C )");
myFile.print("\t\t\t");
myFile.println("Umidità ( % )");
myFile.close();
} else {
Serial.println("error opening dati.log");
}

così crea il file Dati.txt e scrive nella prima riga : Temperatura (°C ) Umidità ( % )
dopo di che sotto andrà a scrivere i vari valori.

se al posto di Dati.txt metto Dati.csv allora crea un file excel, e scrive: Temperatura (°C ) Umidità
nella stessa colonna mentre io vorrei 2 colonne separate.
Sapete come potrei risolvere questo problema?

Grazie in anticipo :slight_smile:

Ti invitiamo a presentarti (dicci quali conoscenze hai di elettronica e di programmazione) qui: Presentazioni
e a leggere il regolamento se non lo hai già fatto: Regolamento
Qui una serie di link utili, non inerenti al tuo problema:

Un file csv NON è un file excel.
E' un semplice file di testo con un separatore tra le colonne, di solito il ; che però excel può aprire e interpretare.
Quindi per separare i dati in colonne... aggiungi un ;

per i titoli, 1 sola volta, esempio:
myFile.println("Temperatura;Umidità");

ma poi per ogni dato, esempio:
myFile.print(dht.readTemperature());
myFile.print(';');
myFile.println(dht.readHumidity());

Grazie, perfetto.
E invece non c'è la possibilità di creare un vero e proprio file excel?

Ti ha già invitato Nid a farlo nel post #1, ora te lo chiedo ufficialmente io ...

... nel rispetto del regolamento, ti chiedo di presentarti QUI (spiegando bene quali conoscenze hai di elettronica e di programmazione ... possibilmente evitando di scrivere solo una riga di saluto) e di leggere con attenzione il su citato REGOLAMENTO.

Guglielmo

gabri110494:
Grazie, perfetto.
E invece non c'è la possibilità di creare un vero e proprio file excel?

No, è un formato proprietario di Microsoft. Devi chiedere a loro le specifiche di come si crea un vero file excel xls.
Ma di sicuro è complicato (parti non testo ma binarie) e inutile visto che excel legge i comodi file di testo csv (che puoi leggere anche con un qualsiasi editor di testo) e sono portabili anche verso altri sw che non siano excel.

Forse si potrebbe creare una vecchia versione dei file XLS ma non certo il nuovo formato xlsx che non è altro che uno zip con dentro i dati. Ma entrambi vanno creati in una volta sola, non puoi accodare dati.

Il csv va più che bene ma poni attenzione al separatore decimale e alle eventuali date.