Como hago para exportar datos desde visual fox pro a e
Cual es el error en este codigo que me impide exportar los datos a excel?
es de un programa q uso en el trabajo y antes me hacia la exportacion de datos pero me falla no le entiendo mucho de programacion pero este es el codigo del icono en el que presionaba para q me exporte los datos..
local xcontador,xcliente,xnomcli
sele auxcta
xcliente = cliente
count to xcontador
sele cli_cta
set order to codigo
xnomcli = nombre
if xcontador > 0
local Fila
wait'Espere Un Momento Exportando Datos' window nowait
_screen.mousepointer=14
TmpSheet=GetObject('','Excel.Sheet')
XLApp=TmpSheet.Application
XLApp.visible=.T.
XLApp.workbooks.add()
XLSheet=XLApp.ActiveSheet
XLSheet.Cells(1,1)= alltrim(xNombreEmpresa)
XLSheet.Cells(1,1).font.bold=.T.
XLSheet.Cells(1,1).font.size="16"
XLSheet.Cells(1,1).font.name="Comic Sans MS"
XLSheet.Cells(2,1)="Detalle de Cuenta Corriente de " + alltrim(xnomcli) + "- Saldo Anterior = " + alltrim(str(thisform.txtSaldoAnterior.value,12,2))
XLSheet.Cells(2,1).font.bold=.T.
XLSheet.Cells(2,1).font.size="12"
XLSheet.Cells(2,1).font.name="Arial"
XLSheet.Cells(3,2)="Id.Vta"
XLSheet.Cells(3,2).font.bold=.T.
XLSheet.Cells(3,2).font.size="11"
XLSheet.Cells(3,2).font.name="Arial"
XLSheet.Cells(3,3)="Fecha"
XLSheet.Cells(3,3).font.bold=.T.
XLSheet.Cells(3,3).font.size="11"
XLSheet.Cells(3,3).font.name="Arial"
XLSheet.Cells(3,4)="Caja"
XLSheet.Cells(3,4).font.bold=.T.
XLSheet.Cells(3,4).font.size="11"
XLSheet.Cells(3,4).font.name="Arial"
XLSheet.Cells(3,5)="Articulo"
XLSheet.Cells(3,5).font.bold=.T.
XLSheet.Cells(3,5).font.size="11"
XLSheet.Cells(3,5).font.name="Arial"
XLSheet.Cells(3,6)="Cant."
XLSheet.Cells(3,6).font.bold=.T.
XLSheet.Cells(3,6).font.size="11"
XLSheet.Cells(3,6).font.name="Arial"
XLSheet.Cells(3,7)="$ Unit."
XLSheet.Cells(3,7).font.bold=.T.
XLSheet.Cells(3,7).font.size="11"
XLSheet.Cells(3,7).font.name="Arial"
XLSheet.Cells(3,8)="$ Total"
XLSheet.Cells(3,8).font.bold=.T.
XLSheet.Cells(3,8).font.size="11"
XLSheet.Cells(3,8).font.name="Arial"
XLSheet.Cells(3,9)="Debe"
XLSheet.Cells(3,9).font.bold=.T.
XLSheet.Cells(3,9).font.size="11"
XLSheet.Cells(3,9).font.name="Arial"
XLSheet.Cells(3,10)="Haber"
XLSheet.Cells(3,10).font.bold=.T.
XLSheet.Cells(3,10).font.size="11"
XLSheet.Cells(3,10).font.name="Arial"
XLSheet.Cells(3,11)="Saldo"
XLSheet.Cells(3,11).font.bold=.T.
XLSheet.Cells(3,11).font.size="11"
XLSheet.Cells(3,11).font.name="Arial"
Fila=3
local xid_vta,xcodigo,xfecha,xterminal,xcodigoArt,xdebe,xhaber,xsaldo,xrecibo
xdebe = thisform.txtSaldoAnterior.value
Xhaber = 0
xsaldo = thisform.txtSaldoAnterior.value
sele auxcta
go top
scan
xid_vta = id_vta
xfecha = fecha
xterminal = terminal
xrecibo = recibo
************
if id_vta = 0
Fila=Fila+1
XLSheet.Cells(Fila,1)="R"
XLSheet.Cells(Fila,1).font.bold=.T.
XLSheet.Cells(Fila,2)=alltrim(str(xrecibo))
XLSheet.Cells(Fila,2).font.bold=.T.
XLSheet.Cells(Fila,3)=dtoc(xfecha)
XLSheet.Cells(Fila,3).font.bold=.T.
XLSheet.Cells(Fila,4)=alltrim(str(xterminal))
XLSheet.Cells(Fila,4).font.bold=.T.
XLSheet.Cells(Fila,5)= "Pago de Cta. Cte."
XLSheet.Cells(Fila,5).font.bold=.T.
XLSheet.Cells(Fila,10)=alltrim(str(haber,12,2))
XLSheet.Cells(Fila,10).font.bold=.T.
xhaber = xhaber + haber
xsaldo = xdebe - xhaber
XLSheet.Cells(Fila,11)=alltrim(str(xsaldo,12,2))
else
sele venta
go top
scan for id_vta = xid_vta
Fila=Fila+1
XLSheet.Cells(Fila,2)=alltrim(str(xid_vta))
XLSheet.Cells(Fila,3)=dtoc(xfecha)
XLSheet.Cells(Fila,4)=alltrim(str(xterminal))
xcodigoArt = codigo
sele articulos
set order to codigo
seek(xcodigoArt)
if found()
XLSheet.Cells(Fila,5)=alltrim(nombre)
endif
sele venta
XLSheet.Cells(Fila,6)=alltrim(str(cantidad))
XLSheet.Cells(Fila,7)=alltrim(str(unitario,12,2))
XLSheet.Cells(Fila,8)=alltrim(str(total,12,2))
xdebe = xdebe + total
xsaldo = xdebe - xhaber
XLSheet.Cells(Fila,9)=alltrim(str(xdebe,12,2))
XLSheet.Cells(Fila,11)=alltrim(str(xsaldo,12,2))
endscan
sele auxcta
endif
endscan
XLSheet.Columns("A:A").ColumnWidth = 2
XLSheet.Columns("B:B").EntireColumn.AutoFit
XLSheet.Columns("C:C").EntireColumn.AutoFit
XLSheet.Columns("D:D").EntireColumn.AutoFit
XLSheet.Columns("E:E").EntireColumn.AutoFit
XLSheet.Columns("F:F").EntireColumn.AutoFit
XLSheet.Columns("G:G").EntireColumn.AutoFit
XLSheet.Columns("H:H").EntireColumn.AutoFit
XLSheet.Columns("I:I").EntireColumn.AutoFit
XLSheet.Columns("J:J").EntireColumn.AutoFit
XLSheet.Columns("K:K").EntireColumn.AutoFit
_screen.mousepointer=0
endif
desde ya muchas gracias espero tu respuesta atentamente
es de un programa q uso en el trabajo y antes me hacia la exportacion de datos pero me falla no le entiendo mucho de programacion pero este es el codigo del icono en el que presionaba para q me exporte los datos..
local xcontador,xcliente,xnomcli
sele auxcta
xcliente = cliente
count to xcontador
sele cli_cta
set order to codigo
xnomcli = nombre
if xcontador > 0
local Fila
wait'Espere Un Momento Exportando Datos' window nowait
_screen.mousepointer=14
TmpSheet=GetObject('','Excel.Sheet')
XLApp=TmpSheet.Application
XLApp.visible=.T.
XLApp.workbooks.add()
XLSheet=XLApp.ActiveSheet
XLSheet.Cells(1,1)= alltrim(xNombreEmpresa)
XLSheet.Cells(1,1).font.bold=.T.
XLSheet.Cells(1,1).font.size="16"
XLSheet.Cells(1,1).font.name="Comic Sans MS"
XLSheet.Cells(2,1)="Detalle de Cuenta Corriente de " + alltrim(xnomcli) + "- Saldo Anterior = " + alltrim(str(thisform.txtSaldoAnterior.value,12,2))
XLSheet.Cells(2,1).font.bold=.T.
XLSheet.Cells(2,1).font.size="12"
XLSheet.Cells(2,1).font.name="Arial"
XLSheet.Cells(3,2)="Id.Vta"
XLSheet.Cells(3,2).font.bold=.T.
XLSheet.Cells(3,2).font.size="11"
XLSheet.Cells(3,2).font.name="Arial"
XLSheet.Cells(3,3)="Fecha"
XLSheet.Cells(3,3).font.bold=.T.
XLSheet.Cells(3,3).font.size="11"
XLSheet.Cells(3,3).font.name="Arial"
XLSheet.Cells(3,4)="Caja"
XLSheet.Cells(3,4).font.bold=.T.
XLSheet.Cells(3,4).font.size="11"
XLSheet.Cells(3,4).font.name="Arial"
XLSheet.Cells(3,5)="Articulo"
XLSheet.Cells(3,5).font.bold=.T.
XLSheet.Cells(3,5).font.size="11"
XLSheet.Cells(3,5).font.name="Arial"
XLSheet.Cells(3,6)="Cant."
XLSheet.Cells(3,6).font.bold=.T.
XLSheet.Cells(3,6).font.size="11"
XLSheet.Cells(3,6).font.name="Arial"
XLSheet.Cells(3,7)="$ Unit."
XLSheet.Cells(3,7).font.bold=.T.
XLSheet.Cells(3,7).font.size="11"
XLSheet.Cells(3,7).font.name="Arial"
XLSheet.Cells(3,8)="$ Total"
XLSheet.Cells(3,8).font.bold=.T.
XLSheet.Cells(3,8).font.size="11"
XLSheet.Cells(3,8).font.name="Arial"
XLSheet.Cells(3,9)="Debe"
XLSheet.Cells(3,9).font.bold=.T.
XLSheet.Cells(3,9).font.size="11"
XLSheet.Cells(3,9).font.name="Arial"
XLSheet.Cells(3,10)="Haber"
XLSheet.Cells(3,10).font.bold=.T.
XLSheet.Cells(3,10).font.size="11"
XLSheet.Cells(3,10).font.name="Arial"
XLSheet.Cells(3,11)="Saldo"
XLSheet.Cells(3,11).font.bold=.T.
XLSheet.Cells(3,11).font.size="11"
XLSheet.Cells(3,11).font.name="Arial"
Fila=3
local xid_vta,xcodigo,xfecha,xterminal,xcodigoArt,xdebe,xhaber,xsaldo,xrecibo
xdebe = thisform.txtSaldoAnterior.value
Xhaber = 0
xsaldo = thisform.txtSaldoAnterior.value
sele auxcta
go top
scan
xid_vta = id_vta
xfecha = fecha
xterminal = terminal
xrecibo = recibo
************
if id_vta = 0
Fila=Fila+1
XLSheet.Cells(Fila,1)="R"
XLSheet.Cells(Fila,1).font.bold=.T.
XLSheet.Cells(Fila,2)=alltrim(str(xrecibo))
XLSheet.Cells(Fila,2).font.bold=.T.
XLSheet.Cells(Fila,3)=dtoc(xfecha)
XLSheet.Cells(Fila,3).font.bold=.T.
XLSheet.Cells(Fila,4)=alltrim(str(xterminal))
XLSheet.Cells(Fila,4).font.bold=.T.
XLSheet.Cells(Fila,5)= "Pago de Cta. Cte."
XLSheet.Cells(Fila,5).font.bold=.T.
XLSheet.Cells(Fila,10)=alltrim(str(haber,12,2))
XLSheet.Cells(Fila,10).font.bold=.T.
xhaber = xhaber + haber
xsaldo = xdebe - xhaber
XLSheet.Cells(Fila,11)=alltrim(str(xsaldo,12,2))
else
sele venta
go top
scan for id_vta = xid_vta
Fila=Fila+1
XLSheet.Cells(Fila,2)=alltrim(str(xid_vta))
XLSheet.Cells(Fila,3)=dtoc(xfecha)
XLSheet.Cells(Fila,4)=alltrim(str(xterminal))
xcodigoArt = codigo
sele articulos
set order to codigo
seek(xcodigoArt)
if found()
XLSheet.Cells(Fila,5)=alltrim(nombre)
endif
sele venta
XLSheet.Cells(Fila,6)=alltrim(str(cantidad))
XLSheet.Cells(Fila,7)=alltrim(str(unitario,12,2))
XLSheet.Cells(Fila,8)=alltrim(str(total,12,2))
xdebe = xdebe + total
xsaldo = xdebe - xhaber
XLSheet.Cells(Fila,9)=alltrim(str(xdebe,12,2))
XLSheet.Cells(Fila,11)=alltrim(str(xsaldo,12,2))
endscan
sele auxcta
endif
endscan
XLSheet.Columns("A:A").ColumnWidth = 2
XLSheet.Columns("B:B").EntireColumn.AutoFit
XLSheet.Columns("C:C").EntireColumn.AutoFit
XLSheet.Columns("D:D").EntireColumn.AutoFit
XLSheet.Columns("E:E").EntireColumn.AutoFit
XLSheet.Columns("F:F").EntireColumn.AutoFit
XLSheet.Columns("G:G").EntireColumn.AutoFit
XLSheet.Columns("H:H").EntireColumn.AutoFit
XLSheet.Columns("I:I").EntireColumn.AutoFit
XLSheet.Columns("J:J").EntireColumn.AutoFit
XLSheet.Columns("K:K").EntireColumn.AutoFit
_screen.mousepointer=0
endif
desde ya muchas gracias espero tu respuesta atentamente
1 respuesta
Respuesta de Cesar Enrique Yamunaque Baca
1