Page 1 of 1

salvar como archivo csv

Posted: Wed Apr 18, 2018 10:08 pm
by rmtarget
Hola amigos: pasé una dbf a una hoja de excel y hasta ahi no tengo problemas, pero quiero salvar los datos que grabe como un archivo con extensión .csv he probado con los siguientes dos codigos:

oSheet:SaveAs("C:\temporal\cuentas.csv")
oExcel:ACTIVEWORKBOOK:SAVEAS( "C:\temporal\cuentas.CSV" )

y al parecer los salva bien, pero al tratar de abrirlos con excel me dice:

"The file format an extension of 'cuentas.csv' don't match".....do you want to open it anyway ?"

de cualquier forma lo abro y se ven bien los datos pero al quere subirlo a otro sistema no lo reconoce como un archivo de formato csv

Como le hago para salvarlo correctamente como un file 'csv' ?

De antemano muchas gracias y saludos cordiales !

Re: salvar como archivo csv

Posted: Thu Apr 19, 2018 12:30 am
by andyglezl
Hola Rene

No me queda claro porque "triangular" con Excel ?
Puedes guardar tu .dbf delimitado con:
----------------------------------------------------------------------
Hello rene

It is not clear to me why "triangulate" with Excel ?
You can save your delimited .dbf with:

COPY [FIELDS <idField list>] TO <xcFile>
[<scope>] [WHILE <lCondition>] [FOR <lCondition>]
[SDF | DELIMITED [WITH BLANK | <xcDelimiter>] |

Re: salvar como archivo csv

Posted: Thu Apr 19, 2018 3:39 am
by Tiger
Or
Using follow code :
#define xlCSV 6 // CSV

oSheet:SaveAs("C:\temporal\cuentas.csv", xlCSV)
oExcel:ACTIVEWORKBOOK:SAVEAS( "C:\temporal\cuentas.CSV", xlCSV )

Re: salvar como archivo csv

Posted: Thu Apr 19, 2018 12:32 pm
by koke
Es más rápido si lo escribes directamente, sobre todo si son muchos registros
----------------------------------------------------------------
It’s faster if you write it directly, especially if there are many records.

Code: Select all

nombrearch := main.text_1.Value + "/" + main.text_2.Value + ".csv"
If (nManejalog := FCREATE(nombrearch,FC_NORMAL)) == -1
			? "No se puede crear el fichero:", FERROR()
				return
		Else
		FWRITE(nManejalog,'"' + 'RECNO' + '","' + 'PERIODO' + CRLF)
		For i:=1 to dblastrecno
			FWRITE(nManejalog,'"' + alltrim(str(db->(recno()))) + '","' +; alltrim(db->nombre) + '"' + CRLF)
		Next
		FCLOSE(nManejalog)

Re: salvar como archivo csv

Posted: Thu Apr 19, 2018 12:38 pm
by rmtarget
Muchas gracias Andyglezl, Koke y Tiger ! problema resuelto.