Ciao Gian Ferruccio,
devo vedere perchè il tipo di variabile cambia. Ma mi serve un po di tempo (posso guardare non prima di stasera).
Saluti
Wolfgang
Import/export Excel files - Funziona!!
Moderator: wriedmann
Import/export Excel files - Esempio ok!
Wolfgang Riedmann
Meran, South Tyrol, Italy
wolfgang@riedmann.it
https://www.riedmann.it - https://docs.xsharp.it
Meran, South Tyrol, Italy
wolfgang@riedmann.it
https://www.riedmann.it - https://docs.xsharp.it
Import/export Excel files - Esempio ok!
Buongiorno.
Ho guardato e fatto alcune prove ma il risultato è lo stesso: oSheet:SetValue(...) con valori numerici in VO registra correttamente i valori in campi numero (su cui possono essere fatti calcoli), mentre con X# i dati nel file di Excel sono numeri ma formattati come campi testo.
Ecco il ciclo che ho usato per scrivere i dati in Excel:
E' poi strano il diverso comportamento, con lo stesso codice e stesse .DLL, tra VO e #X.
Cosa potrei provare per avere i file Excel corretti?
Grazie per ogni suggerimento...
Gfb
Ho guardato e fatto alcune prove ma il risultato è lo stesso: oSheet:SetValue(...) con valori numerici in VO registra correttamente i valori in campi numero (su cui possono essere fatti calcoli), mentre con X# i dati nel file di Excel sono numeri ma formattati come campi testo.
Ecco il ciclo che ho usato per scrivere i dati in Excel:
Code: Select all
do WHILE !oFileDBF:EOF
nRow := oFileDBF:Recno + 1
FOR nCol := 1 to nCols
if aStruct[nCol, DBS_TYPE] == "D" // Data
oSheet:SetValue( nRow, nCol, DToC(oFileDBF:FIELDGET( nCol) ) )
else
oSheet:SetValue( nRow, nCol, oFileDBF:FIELDGET( nCol) )
endif
NEXT nCol
oFileDBF:Skip( 1 )
ENDDO
Cosa potrei provare per avere i file Excel corretti?
Grazie per ogni suggerimento...
Gfb
gfb
Import/export Excel files - Esempio ok!
Ciao Gian Ferruccio,
mi sono messo questo controllo in programma per oggi pomeriggio - al momento devo finire altre cose.
Penso che il problema sia che l'Interfaccia COM faccia qualche trasformazione del valore da "usual" a un tipo .NET che in questo caso bisogna fare in maniera manuale.
Saluti
Wolfgang
mi sono messo questo controllo in programma per oggi pomeriggio - al momento devo finire altre cose.
Penso che il problema sia che l'Interfaccia COM faccia qualche trasformazione del valore da "usual" a un tipo .NET che in questo caso bisogna fare in maniera manuale.
Saluti
Wolfgang
Wolfgang Riedmann
Meran, South Tyrol, Italy
wolfgang@riedmann.it
https://www.riedmann.it - https://docs.xsharp.it
Meran, South Tyrol, Italy
wolfgang@riedmann.it
https://www.riedmann.it - https://docs.xsharp.it
Import/export Excel files - Esempio ok!
Ciao Gian Ferruccio,
sembra che devi trasformare in numerico in maniera esplicita:
Saluti
Wolfgang
sembra che devi trasformare in numerico in maniera esplicita:
Code: Select all
do case
case aStruct[nField, DBS_TYPE] == "D" // Data
oXlsxSheet:SetValue( nRow, nField, DToC( oServer:FieldGet( nField ) ) )
case aStruct[nField, DBS_TYPE] == "N" // Numeric
oXlsxSheet:SetValue( nRow, nField, ( decimal ) oServer:FieldGet( nField ) )
otherwise
oXlsxSheet:SetValue( nRow, nField, oServer:FieldGet( nField ) )
endcase
Wolfgang
Wolfgang Riedmann
Meran, South Tyrol, Italy
wolfgang@riedmann.it
https://www.riedmann.it - https://docs.xsharp.it
Meran, South Tyrol, Italy
wolfgang@riedmann.it
https://www.riedmann.it - https://docs.xsharp.it
Import/export Excel files - Funziona!!
Fantastico: così funziona e i campi numero vengono scritti correttamente in Excel.
E' stato sufficiente aggiungere, solo per #X (con #ifdef __XSHARP__) la riga
Grazie!!!
Se pensi che possa essere utile ho modificato i tuoi suggerimenti ed esempi creando un modulo generico che consente di trasformare file DBF -> in XLSX e viceversa e posso condividerlo come MEF, anche con una piccola app di esempio, giusto il tempo di creare l'app...
gfb
E' stato sufficiente aggiungere, solo per #X (con #ifdef __XSHARP__) la riga
Code: Select all
oXlsxSheet:SetValue( nRow, nField, ( decimal ) oServer:FieldGet( nField ) )
Se pensi che possa essere utile ho modificato i tuoi suggerimenti ed esempi creando un modulo generico che consente di trasformare file DBF -> in XLSX e viceversa e posso condividerlo come MEF, anche con una piccola app di esempio, giusto il tempo di creare l'app...
gfb
gfb
Import/export Excel files - Funziona!!
Ciao Gian Ferruccio,
Benissimo che funziona addesso come ti serve!
Devo ammettere che la trasformazione tra DBF e Excel non mi è mai servita.
Ho invece una funzione generica (in VO) che trasforma il contenuto di un ListView in una tabella Excel. Questo permette ai miei clienti di esportare il risultato di una ricerca.
Poi mi capita sempre più spesso che i clienti mi chiedono le statistiche non più come stampa, ma come Excel compreso le formule per somme ecc.
Saluti
Wolfgang
Benissimo che funziona addesso come ti serve!
Devo ammettere che la trasformazione tra DBF e Excel non mi è mai servita.
Ho invece una funzione generica (in VO) che trasforma il contenuto di un ListView in una tabella Excel. Questo permette ai miei clienti di esportare il risultato di una ricerca.
Poi mi capita sempre più spesso che i clienti mi chiedono le statistiche non più come stampa, ma come Excel compreso le formule per somme ecc.
Saluti
Wolfgang
Wolfgang Riedmann
Meran, South Tyrol, Italy
wolfgang@riedmann.it
https://www.riedmann.it - https://docs.xsharp.it
Meran, South Tyrol, Italy
wolfgang@riedmann.it
https://www.riedmann.it - https://docs.xsharp.it