PDA

Visualizza la versione completa : [C++] Scrivere su di un file Excel (XLS)


SDB
08-12-2005, 10:29
ciao a tutti..
ho fatto un programmino che mi scrive su di un file txt..voglio però che il file venga salvato come xls per usarlo con Excel..come faccio??
ciao grazie..

lcastello
08-12-2005, 12:10
ciao, c'è una prcisazione da fare, all'interno del file txt che cosa scrivi ?? perchè excel ha bisogno di una certa formattazione dei dati nei suoi file xchè gli stessi possano essere letti dal programma in modo corretto.
Se la formattazione è ok, puoi provare rinominando il file inserendo l'estensione, ma non ti assicuro nulla xchè non ho mai provato, o al limite guarda se con le API di windows si può fare.

:ciauz:

Fox82
08-12-2005, 12:32
Ti basta utilizzare dei tabulatori (o virgole, o altro) come separatori di cella e dei ritorni a capo come separatori di riga. Opzionalmente puoi inserire prima e dopo il testo di una cella un carattere come delimitatore (le virgolette per esempio)

Poi lo importi in excel come formato csv, configurando opportunamente i separatori che hai usato.

SDB
08-12-2005, 19:02
ok..il file è in formato corretto per Excel...ma non voglio rinominarlo..voglio che apra il file scriva e lo salvi come xls..invece per ora riesco solo a farlo salvare come txt

Fox82
08-12-2005, 20:45
Il formato xls è un formato proprietario di Microsoft, quindi non penso sia così semplice scriverlo.

In realtà gli sviluppatori di Openoffice ce l'hanno fatta, magari puoi partire da lì.

Alternativamente, tramite COM, potresti pilotare direttamente un'istanza di Excel e fare eseguire a questa la conversione, ma il discoro è un po più complesso...

denadai2
08-12-2005, 22:14
allora per scrivere basta che scrivi un file .xls e per le celle basta che ti sposti con lo \t (scrivi lo \t)

SDB
09-12-2005, 10:54
ok..forse non sono stato chiaro...


FILE *fp;
fp = fopen("output.txt", "wt");

voglio che scriva (e lo fa!!)ma che lo salvi come output.xls..
preciso che il file .txt se cambio l'estensione me lo apre tranquillamente..quindi i tab sono ok...

denadai2
09-12-2005, 14:35
nn riesco a capire


FILE *fp;
fp = fopen("output.xls", "w");

Loading