InicioHazlo Tu MismoExporta una tabla o cursor de FoxPro 9 a Excel

Exporta una tabla o cursor de FoxPro 9 a Excel

Hazlo Tu Mismo5/8/2012
Hola amigo, aquí voy a presentar la automatización de una tabla o cursor de Foxpro a Excel Desde este formulario de crea el cursor mediante una consulta en Excel debe quedar exactamente así Procedimiento donde se genera el cursor y la carga del mismo Wait Window "Espere... generando vista previa" Nowait *Wait Window "Llamando a asistente de impresión..." Nowait _f1 =Date(Thisform.olecontrol1.Year,Thisform.olecontrol1.Month,Thisform.olecontrol1.Day) _f2 =Date(Thisform.olecontrol2.Year,Thisform.olecontrol2.Month,Thisform.olecontrol2.Day) _f1 = _f1 - 1 _f2 = _f2 + 1 Create Cursor mov_gral (Tipo c(20), Fecha d(8), Codigo N(10), Descripcion c(250), Cantidad N(10,3), precio N(10), TotalSal N(10), TotalEnd N(10)) With This ***********************************************// Apertura //****************************************************** If .check7.Value = 1 x = "Apertura Nº 00"+Alltrim(Str(.apert.Value))+ " - Caja: "+ Alltrim(Left(.combo1.Value,15))+ " - Monto:" _Salida = 0 _Entrada = .text1.Value apertn = .apert.Value Insert Into mov_gral Values("Apert. Caja",_f1+1,apertn,x,0,0,_Salida,_Entrada) Endif *************************************************// Fin //****************************************************** ***********************************************// Compra //****************************************************** If .check1.Value = 1 If .detalle1.Value = 1&& Para detallar *********************************************// Articulo //********************************************** Select * From compra,proveedor,condicion Where compra.procodigo=proveedor.procodigo And compra.concodigo=condicion.concodigo And compra.EmpCodigo=M.codempresa Into Cursor Resul1 *********************** // Para la fecha un condicion contado = 1 //****************************************************** Select* From Resul1 Where Fechacompr > _f1 And Fechacompr < _f2 And concodigo_a = 1 Into Curso Resul1 Readwrite **********************************// Fin fecha //*************************************************** Select Resul1 *Tipo, Fecha , Codigo n(10), Descripcion c(50), Cantidad n(10), precio n(10), total n(10) Scan x = "Prov.: " +Alltrim(Resul1.ProRazonSo)+ "-Nº Fact: " +Alltrim(Str(Resul1.NroFactura)) _Salida = Resul1.MontoTotal _Entrada = 0 Insert Into mov_gral Values("Compra Art.",Resul1.Fechacompr,Resul1.ComCodigo,x,0,0,_Salida,_Entrada) *********************************// Para detallar //***************************************** _xx = Resul1.ComCodigo Select * From detallecompra,articulo Where detallecompra.artcodigo=articulo.artcodigo And detallecompra.EmpCodigo=M.codempresa And detallecompra.ComCodigo =_xx Into Cursor com_det Select com_det Scan x = " * "+Alltrim(com_det.artCodigo_a)+"-"+Alltrim(com_det.artDescrip) Insert Into mov_gral Values("",{},0,x,com_det.Cantidad,com_det.precio,0,0) Endscan **************************************// Fin //********************************************** Endscan *********************************************// Mercadería //********************************************** Select * From compra_mer,proveedor,condicion Where compra_mer.procodigo=proveedor.procodigo And compra_mer.concodigo=condicion.concodigo And compra_mer.EmpCodigo=M.codempresa Into Cursor Resul1 *********************** // Para la fecha y condición contado = 1//****************************************************** Select* From Resul1 Where Fechacompr > _f1 And Fechacompr < _f2 And concodigo_a = 1 Into Curso Resul1 Readwrite **********************************// Fin fecha //*************************************************** Select Resul1 *Tipo, Fecha , Codigo n(10), Descripcion c(50), Cantidad n(10), precio n(10), total n(10) Scan x = "Prov.: " +Alltrim(Resul1.ProRazonSo)+ "-Nº Fact: " +Alltrim(Str(Resul1.NroFactura)) _Salida = Resul1.MontoTotal _Entrada = 0 Insert Into mov_gral Values("Compra Mer.",Resul1.Fechacompr,Resul1.ComCodigo,x,0,0,_Salida,_Entrada) *********************************// Para detallar //***************************************** _xx = Resul1.ComCodigo Select * From detallecompra_mercaderia,Mercaderia Where detallecompra_mercaderia.MerCodigo=Mercaderia.MerCodigo And detallecompra_mercaderia.EmpCodigo=M.codempresa And detallecompra_mercaderia.ComCodigo = _xx Into Cursor com_det Select com_det Scan x = " * "+Alltrim(Str(com_det.MerCodigo_a))+"-"+Alltrim(com_det.MerDescrip) Insert Into mov_gral Values("",{},0,x,com_det.Cantidad,com_det.precio,0,0) Endscan **************************************// Fin //********************************************** Endscan Else&& No detallar *********************************************// Articulo //********************************************** Select * From compra,proveedor,condicion Where compra.procodigo=proveedor.procodigo And compra.concodigo=condicion.concodigo And compra.EmpCodigo=M.codempresa Into Cursor Resul1 *********************** // Para la fecha //****************************************************** Select* From Resul1 Where Fechacompr > _f1 And Fechacompr < _f2 Into Curso Resul1 Readwrite **********************************// Fin fecha //*************************************************** Select Resul1 *Tipo, Fecha , Codigo n(10), Descripcion c(50), Cantidad n(10), precio n(10), total n(10) Scan x = "Prov.: " +Alltrim(Resul1.ProRazonSo)+ "-Nº Fact: " +Alltrim(Str(Resul1.NroFactura)) _Salida = Resul1.MontoTotal _Entrada = 0 Insert Into mov_gral Values("Compra Art.",Resul1.Fechacompr,Resul1.ComCodigo,x,0,0,_Salida,_Entrada) Endscan **************************************// Fin //********************************************** *********************************************// Mercadería //********************************************** Select * From compra_mer,proveedor,condicion Where compra_mer.procodigo=proveedor.procodigo And compra_mer.concodigo=condicion.concodigo And compra_mer.EmpCodigo=M.codempresa Into Cursor Resul1 *********************** // Para la fecha //****************************************************** Select* From Resul1 Where Fechacompr > _f1 And Fechacompr < _f2 Into Curso Resul1 Readwrite **********************************// Fin fecha //*************************************************** Select Resul1 *Tipo, Fecha , Codigo n(10), Descripcion c(50), Cantidad n(10), precio n(10), total n(10) Scan x = "Prov.: " +Alltrim(Resul1.ProRazonSo)+ "-Nº Fact: " +Alltrim(Str(Resul1.NroFactura)) _Salida = Resul1.MontoTotal _Entrada = 0 Insert Into mov_gral Values("Compra Mer.",Resul1.Fechacompr,Resul1.ComCodigo,x,0,0,_Salida,_Entrada) Endscan Endif Endif **************************************************************// Fin //****************************************************************** ***********************************************// venta //****************************************************** If .check2.Value = 1 If .detalle2.Value = 1&& Para detallar Select * From venta,cliente,sucursal,condicion Where venta.clicodigo=cliente.clicodigo And venta.succodigo=sucursal.succodigo And venta.concodigo=condicion.concodigo And venta.EmpCodigo=M.codempresa And sucursal.EmpCodigo=M.codempresa Into Cursor Resul1 ********************************// Para la fecha //**************************************** Select * From Resul1 Where Venfecha >_f1 And Venfecha < _f2 Into Cursor Resul1 Readwrit *********************************// Fin //********************************** **Para venta minorista Select * From Resul1 Where ventipo="Minorista" Into Cursor Resul1 Readwrit Select Resul1 Scan *x = "Cliente: " +Alltrim(Resul1.CliRazonSo)+" Mesa Nº " + Alltrim(Str(Venmesa)) If Resul1.Delivery = 1 x = "Cliente: " +Alltrim(Resul1.CliRazonSo)+" - DELIVERY " Else If Resul1.Venmesa > 0 x = "Cliente: " +Alltrim(Resul1.CliRazonSo)+" Mesa Nº " + Alltrim(Str(Venmesa)) Else x = "Cliente: " +Alltrim(Resul1.CliRazonSo)+" Venta directa" Endif Endif _Salida = 0 _Entrada = 0 If Alltrim(Resul1.VenEstado)= "Anulado" _tipo = "Vta. Anulada" _Entrada = 0 Else If Alltrim(Resul1.VenControl) = "Contado" And Alltrim(Resul1.VenEstado)= "Activo" _tipo = "Vta. Cont" _Entrada = Resul1.VenMonTota Else _tipo = "Vta. Créd" _Entrada = 0 Endif Endif Insert Into mov_gral Values(_tipo,Resul1.Venfecha,Resul1.VenCodigo,x,0,0,_Salida,_Entrada) *********************************// Para detallar //***************************************** _xx = Resul1.VenCodigo Select * From detalle_venta,articulo Where detalle_venta.artcodigo=articulo.artcodigo And detalle_venta.VenCodigo=_xx And detalle_venta.EmpCodigo=M.codempresa Into Cursor com_det Select com_det Scan x = " * "+Alltrim(com_det.artCodigo_a)+"-"+Alltrim(com_det.artDescrip) Insert Into mov_gral Values("",{},0,x,com_det.Cantidad,com_det.precio,0,0) Endscan **************************************// Fin //********************************************** ** Para detallar guarnición _xx = Resul1.VenCodigo Select * From venta_gua,articulo Where venta_gua.guacodigo=articulo.artcodigo And venta_gua.VenCodigo=_xx Into Cursor com_det Select com_det Scan x = "Guarnición: " +Alltrim(com_det.artCodigo_a)+"-"+Alltrim(com_det.artDescrip) *Insert Into mov_gral Values("","","",x,com_det.Cantidad,0,0) Insert Into mov_gral Values("",{},0,x,com_det.Cantidad,0,0,0) Endscan ** Fin Endscan Else&& No detallar Select * From venta,cliente,sucursal,condicion Where venta.clicodigo=cliente.clicodigo And venta.succodigo=sucursal.succodigo And venta.concodigo=condicion.concodigo And venta.EmpCodigo=M.codempresa And sucursal.EmpCodigo=M.codempresa Into Cursor Resul1 ********************************// Para la fecha //**************************************** Select * From Resul1 Where Venfecha >_f1 And Venfecha < _f2 Into Cursor Resul1 Readwrit *********************************// Fin //********************************** **Para venta minorista Select * From Resul1 Where ventipo="Minorista" Into Cursor Resul1 Readwrit Select Resul1 Scan x = "Cliente: " +Alltrim(Resul1.CliRazonSo)+" Mesa Nº " + Alltrim(Str(Venmesa)) *x = "Cliente: " +Alltrim(Resul1.CliRazonSo)+ "-Ticket Nº: " +Alltrim(Str(Resul1.VenCodigo)) _Salida = 0 _Entrada = 0 If Alltrim(Resul1.VenEstado)= "Anulado" _tipo = "Vta. Anulada" _Entrada = 0 Else If Alltrim(Resul1.VenControl) = "Contado" And Alltrim(Resul1.VenEstado)= "Activo" _tipo = "Vta. Cont" _Entrada = Resul1.VenMonTota Else _tipo = "Vta. Créd" _Entrada = 0 Endif Endif Insert Into mov_gral Values(_tipo,Resul1.Venfecha,Resul1.VenCodigo,x,0,0,_Salida,_Entrada) Endscan Endif Endif **************************************************************// Fin //****************************************************************** ***************************************** Saldo a favor del cliente pero que entro en caja****************************** If .check10.Value = 1 ** Entra en caja en la columna haber Select * From cliente_efe,cliente Where cliente_efe.clicodigo=cliente.clicodigo Into Cursor Resul1 ** Condición para la fecha Select * From Resul1 Where Fecha >_f1 And Fecha < _f2 Into Cursor Resul1 Readwrit Select * From Resul1 Order By salcodigo Into Cursor Resul1 Readwrit ************************************************ Select Resul1 Scan x = "Saldo a favor "+ Alltrim(Str(Resul1.clicodigo_a))+"-"+Alltrim(Resul1.CliRazonSo) _Salida = 0 _Entrada = Resul1.Monto _tipo = "Saldo pend." Insert Into mov_gral Values(_tipo,Resul1.Fecha,Resul1.clicodigo_a,x,0,0,_Salida,_Entrada) Endscan ** Fin ** Cliente que uso su saldo y que va entrar en caje en la columna debe Select * From cliente_usa,cliente Where cliente_usa.clicodigo=cliente.clicodigo Into Cursor Resul1 ** Condición para la fecha Select * From Resul1 Where Fecha >_f1 And Fecha < _f2 Into Cursor Resul1 Readwrit Select * From Resul1 Order By Fecha Desc Into Cursor Resul1 Readwrit ************************************************ Select Resul1 Scan x = "Saldo pend. "+ Alltrim(Str(Resul1.clicodigo_a))+"-"+Alltrim(Resul1.CliRazonSo)+ Alltrim(Resul1.comentario) _Salida = Resul1.Monto _Entrada = 0 _tipo = "Saldo usada." Insert Into mov_gral Values(_tipo,Resul1.Fecha,Resul1.clicodigo_a,x,0,0,_Salida,_Entrada) Endscan ** Fin Endif ** Fin ***********************************************// Cobranza //****************************************************** If .check3.Value = 1 If .detalle3.Value = 1&& Para detallar Select * From cobranza,cliente Where cobranza.clicodigo=cliente.clicodigo And cobranza.EmpCodigo =M.codempresa Into Cursor Resul1 **************************************************************************** **************************************************************************** **Condición para la fecha **************** Select * From Resul1 Where CobFecha >_f1 And CobFecha < _f2 Into Cursor Resul1 Readwrit ************************************************ Select Resul1 Scan x = "Cliente: "+ Alltrim(Str(Resul1.clicodigo_a))+"-"+Alltrim(Resul1.CliRazonSo)+" "+Alltrim(RecOpc) +" según recibo Nº:"+Alltrim(Str(Resul1.ReciboNro)) _Salida = 0 _Entrada = Resul1.CobMonto _tipo = "Cobranza" Insert Into mov_gral Values(_tipo,Resul1.CobFecha,Resul1.CobCodigo,x,0,0,_Salida,_Entrada) *****************Para detalla que lo que se cobro *************** xx = Resul1.CobCodigo Select * From cobran_deta Where CobCodigo=xx And EmpCodigo = M.codempresa Into Cursor cur_det Select cur_det Scan x = " - Ticket Nº "+Alltrim(Str(VenCodigo))+" Monto: "+Alltrim(Str(VenMonto)) _Salida = 0 _Entrada = 0 Insert Into mov_gral Values("",{},0,x,0,0,_Salida,_Entrada) If This.check6.Value = 1&& Para detallar el ticket x3 = cur_det.VenCodigo Select * From detalle_venta,articulo Where detalle_venta.VenCodigo=x3 And detalle_venta.artcodigo=articulo.artcodigo Into Cursor ven_det Select ven_det Scan x = " * "+Alltrim(ven_det.artCodigo_a)+"-"+Alltrim(ven_det.artDescrip) Insert Into mov_gral Values("",{},0,x,ven_det.Cantidad,ven_det.precio,0,0) Endscan Endif Endscan Endscan Else&& No detallar Select * From cobranza,cliente Where cobranza.clicodigo=cliente.clicodigo And cobranza.EmpCodigo = M.codempresa Into Cursor Resul1 **************************************************************************** **************************************************************************** **Condición para la fecha **************** Select * From Resul1 Where CobFecha >_f1 And CobFecha < _f2 Into Cursor Resul1 Readwrit ************************************************ Select Resul1 Scan x = "Cliente: "+ Alltrim(Str(Resul1.clicodigo_a))+"-"+Alltrim(Resul1.CliRazonSo)+" "+Alltrim(RecOpc) +" según recibo Nº:"+Alltrim(Str(Resul1.ReciboNro)) _Salida = 0 _Entrada = Resul1.CobMonto _tipo = "Cobranza" Insert Into mov_gral Values(_tipo,Resul1.CobFecha,Resul1.CobCodigo,x,0,0,_Salida,_Entrada) Endscan Endif Endif **************************************************************// Fin //****************************************************************** ******************************************************* Pago de cuentas pendientes09 de junio de 2007 If .check11.Value = 1 Select * From pago_compra Where fechamov >_f1 And fechamov < _f2 And pagcontrol = 1 Into Cursor Resul1 Select Resul1 Scan x = Alltrim(Resul1.Tipocomp)+" - "+Alltrim((Resul1.factnro)) _Salida = Resul1.PagMonto _Entrada = 0 _tipo = "Cta. pagada" Insert Into mov_gral Values(_tipo,Resul1.PagFecha,Resul1.ctanro,x,0,0,_Salida,_Entrada) Endscan Endif ** Fin ***********************************************// Pagos General//****************************************************** If .check4.Value = 1 If .detalle4.Value = 1&& Para detallar Else&& No detallar Select * From pago,personal,tipo_documento Where pago.PerCodigo=personal.PerCodigo And pago.DocCodigo=tipo_documento.DocCodigo Into Cursor Resul1 **************************************************************************** **Condición para la fecha **************** Select * From Resul1 Where PagFecha >_f1 And PagFecha < _f2 Into Cursor Resul1 Readwrit ************************************************ Select Resul1 Scan x = Alltrim(Resul1.DocDescrip)+". "+Alltrim(Resul1.PagNota)+ "-Pag Nº: " +Alltrim(Str(Resul1.PagCodigo)) _Salida = Resul1.PagMonto _Entrada = 0 _tipo = "Pago" Insert Into mov_gral Values(_tipo,Resul1.PagFecha,Resul1.PagCodigo,x,0,0,_Salida,_Entrada) Endscan Endif Endif **************************************************************// Fin //****************************************************************** ***********************************************// Otras entradas 26/04/08//****************************************************** If .check12.Value = 1 If .detalle6.Value = 1&& Para detallar Else&& No detallar Select * From entrada,personal,tipo_documento Where entrada.PerCodigo=personal.PerCodigo And entrada.DocCodigo=tipo_documento.DocCodigo Into Cursor Resul1 **************************************************************************** **Condición para la fecha **************** Select * From Resul1 Where PagFecha >_f1 And PagFecha < _f2 Into Cursor Resul1 Readwrit ************************************************ Select Resul1 Scan x = Alltrim(Resul1.DocDescrip)+". "+Alltrim(Resul1.PagNota)+ "-Pag Nº: " +Alltrim(Str(Resul1.PagCodigo)) _Salida = 0 _Entrada = Resul1.PagMonto _tipo = "Otra Entrada" Insert Into mov_gral Values(_tipo,Resul1.PagFecha,Resul1.PagCodigo,x,0,0,_Salida,_Entrada) Endscan Endif Endif **************************************************************// Fin //****************************************************************** ***********************************************// Anticipos y Vales //****************************************************** If .check5.Value = 1 If .detalle5.Value = 1&& Para detallar Else&& No detallar Select * From recibo,personal Where recibo.PerCodigo = personal.PerCodigo Into Cursor Resul1 **************************************************************************** **Condición para la fecha **************** Select * From Resul1 Where Fecha >_f1 And Fecha < _f2 Into Cursor Resul1 Readwrit ************************************************ Select Resul1 Scan If Resul1.Menu = 1 x = Alltrim(Resul1.Concepto)+" a "+Alltrim(Resul1.PerNombre)+" "+Alltrim(Resul1.PerApellid) _Salida = Resul1.Suma _Entrada = 0 _tipo = "Ant. y Vales" Insert Into mov_gral Values(_tipo,Resul1.Fecha,Resul1.Codigo,x,0,0,_Salida,_Entrada) Else x = Alltrim(Resul1.Concepto)+" a "+Alltrim(Resul1.PerNombre)+" "+Alltrim(Resul1.PerApellid)+" Monto "+Alltrim(Str(Resul1.Suma)) _Salida = 0 _Entrada = 0 _tipo = "Ant. y Vales" Insert Into mov_gral Values(_tipo,Resul1.Fecha,Resul1.Codigo,x,0,0,_Salida,_Entrada) Endif Endscan Endif Endif **************************************************************// Fin //****************************************************************** Endwith Select mov_gral this.enviar && es el procedimiento donde exporta a Excel Procedimiento enviar Local cErrores, lExcel,oExcel ** BUSCO UNA SESION DE EXCEL YA ACTIVA *nRows se usa para los registro o fila Wait Window "Espere... Exportandos datos" Nowait cErrores = On("ERROR" On Error lExcel = .F. oExcel = Getobject(,"excel.application" On Error &cErrores oExcel = Createobject("Excel.Application" oExcel.Visible = .T. && VISUALIZO EXCEL oExcel.Workbooks.Add && PREPARO UN NUEVO TRABAJO DE EXCEL oExcel.ActiveWindow.Zoom = 95&& Zoom ** Empiezo a carga los datos correspondiente en la hoja de excel ** Nombre de la planilla o hoja1 de excel oExcel.Sheets("Hoja1".Name = "Movimientos General" &&Nombre de la hoja ** Crea el Formato de la Hoja ** Formato general de la hoja WITH oExcel.Cells.Font .Name = "Tahoma" .Size = 8 ENDWITH ** Tamaño para las columnas WITH oExcel .Columns("A:A".ColumnWidth = 11 .Columns("B:B".ColumnWidth = 9 .Columns("C:C".ColumnWidth = 9 .Columns("D".ColumnWidth = 60 .Columns("E:J".ColumnWidth = 8 *.Columns("F:J".ColumnWidth = 10 *.Columns("G:H".ColumnWidth = 11 *.Columns("I:I".ColumnWidth = 10 *.Columns("J:J".ColumnWidth = 12 ENDWITH ** Rectangulo para los titulos _bor = 3 WITH oExcel.Range(oExcel.Cells(3,1), oExcel.Cells(3,8)) .Borders(01).Weight = _bor .Borders(02).Weight = _bor .Borders(03).Weight = _bor .Borders(04).Weight = _bor .Borders(07).Weight = _bor .Borders(08).Weight = _bor .Borders(09).Weight = _bor .Borders(10).Weight = _bor ENDWITH ** Mensaje nRows = 1 oExcel.Cells(nRows,1) = "SysGes exportando datos. Por favor Espere....." ** Para la fecha _f1 = _f1 + 1&&DESDE _f2 = _f2 - 1&&HASTA nRows = 2 oExcel.Cells(nRows,1) = ALLTRIM(DTOC(_f1))+ " al " + ALLTRIM(DTOC(_f2)) ** Título de los campos nRows = 3 oExcel.Cells(nRows,1) = "Tipo de mov." oExcel.Cells(nRows,2) = "Fecha" oExcel.Cells(nRows,3) = "Nº de Mov." oExcel.Cells(nRows,4) = "Detalle del movimiento" oExcel.Cells(nRows,5) = "Cantidad" oExcel.Cells(nRows,6) = "Precio" oExcel.Cells(nRows,7) = "Debe" oExcel.Cells(nRows,8) = "Haber" ** Formato para el Título WITH oExcel.Range(oExcel.Cells(1, 1), oExcel.Cells(1,8)) &&combina desde la columna 1 hasta 8 .HorizontalAlignment = 3 .MergeCells = .T. .Font.Bold = .T. .Font.ColorIndex = 5 .Font.Size = 14 ENDWITH ** Formato para la fecha (desde al hasta) WITH oExcel.Range(oExcel.Cells(2, 1), oExcel.Cells(2,8)) &&combina desde la columna 1 hasta 8 .HorizontalAlignment = 3 .MergeCells = .T. .Font.Bold = .T. .Font.ColorIndex = 5 .Font.Size = 10 ENDWITH ** Formato columna tipo de movimiento WITH oExcel.Range(oExcel.Cells(3,1), oExcel.Cells(3,1)) .HorizontalAlignment = 3 .MergeCells = .T. .Font.Bold = .T. .Font.ColorIndex = 5 .Font.Size = 8 ENDWITH ** Formato columna fecha WITH oExcel.Range(oExcel.Cells(3,2), oExcel.Cells(3,2)) .HorizontalAlignment = 3 .MergeCells = .T. .Font.Bold = .T. .Font.ColorIndex = 5 .Font.Size = 8 ENDWITH ** Formato columna Nº de mov. WITH oExcel.Range(oExcel.Cells(3,3), oExcel.Cells(3,3)) .HorizontalAlignment = 3 .MergeCells = .T. .Font.Bold = .T. .Font.ColorIndex = 5 .Font.Size = 8 ENDWITH ** Formato columna Descripción de movimiento WITH oExcel.Range(oExcel.Cells(3,4), oExcel.Cells(3,4)) .HorizontalAlignment = 3 .MergeCells = .T. .Font.Bold = .T. .Font.ColorIndex = 5 .Font.Size = 8 ENDWITH ** Formato columna Cantidad WITH oExcel.Range(oExcel.Cells(3,5), oExcel.Cells(3,5)) .HorizontalAlignment = 3 .MergeCells = .T. .Font.Bold = .T. .Font.ColorIndex = 5 .Font.Size = 8 ENDWITH ** Formato columna Precio WITH oExcel.Range(oExcel.Cells(3,6), oExcel.Cells(3,6)) .HorizontalAlignment = 3 .MergeCells = .T. .Font.Bold = .T. .Font.ColorIndex = 5 .Font.Size = 8 ENDWITH ** Formato columna Debe WITH oExcel.Range(oExcel.Cells(3,7), oExcel.Cells(3,7)) .HorizontalAlignment = 3 .MergeCells = .T. .Font.Bold = .T. .Font.ColorIndex = 5 .Font.Size = 8 ENDWITH ** Formato columna Haber WITH oExcel.Range(oExcel.Cells(3,8), oExcel.Cells(3,8)) .HorizontalAlignment = 3 .MergeCells = .T. .Font.Bold = .T. .Font.ColorIndex = 5 .Font.Size = 8 ENDWITH ** Empiezo a cargar campo por campo en la hoja de excel Select mov_gral Scan nRows = nRows + 1 For nColumn = 1 To 8 If nColumn = 1&& tipo de mov IF mov_gral.Tipo > " " oExcel.Cells(nRows,nColumn) = mov_gral.Tipo endif ENDIF If nColumn = 2&& fecha del movimiento IF mov_gral.fecha <> {} oExcel.Cells(nRows,nColumn) = mov_gral.fecha endif ENDIF If nColumn = 3&& Código de los movimiento IF mov_gral.codigo > 0 oExcel.Cells(nRows,nColumn) = mov_gral.codigo endif ENDIF If nColumn = 4&& descripcion oExcel.Cells(nRows,nColumn) = ALLTRIM(mov_gral.descripcion) ENDIF If nColumn = 5&& Cantidad IF mov_gral.Cantidad > 0 oExcel.Cells(nRows,nColumn) = mov_gral.Cantidad/100 endif ENDIF If nColumn = 6&& precio IF mov_gral.precio > 0 oExcel.Cells(nRows,nColumn) = mov_gral.precio endif ENDIF If nColumn = 7&& Haber IF mov_gral.totalsal > 0 oExcel.Cells(nRows,nColumn) = mov_gral.totalsal endif ENDIF If nColumn = 8&& Debe IF mov_gral.TotalEnd > 0 oExcel.Cells(nRows,nColumn) = mov_gral.TotalEnd endif ENDIF Next nColumn Endscan ** Calculando el total de la entrada y salida del cursor de movimiento SELECT SUM(TotalSal) salida , SUM(TotalEnd) entrada FROM mov_gral INTO CURSOR cur_total ** Inserto el total de la salida y entrada nRows = nRows + 2 oExcel.Cells(nRows,4) = " TOTALES:" oExcel.Cells(nRows,7) = cur_total.salida oExcel.Cells(nRows,8) = cur_total.entrada ** Fin ** Para el log del programa nRows = nRows + 2 oExcel.Cells(nRows,4) = "Generado por SysGes - Sistema de Gestión" ** ** Otros formato ** Formato General para las columnas: precio, debe, haber oExcel.Range(oExcel.Cells(4,8), oExcel.Cells(nRows,4)).NumberFormat = '#,##' ** Formato para la columna cantidad oExcel.Range(oExcel.Cells(5,5), oExcel.Cells(nRows,4)).NumberFormat = '#,##.00' ** ** Formato columna Descripción de movimiento WITH oExcel.Range(oExcel.Cells(nRows,4), oExcel.Cells(nRows,4)) .HorizontalAlignment = 3 .MergeCells = .T. .Font.Bold = .T. .Font.ColorIndex = 5 .Font.Size = 8 ENDWITH ** Formato columna Debe WITH oExcel.Range(oExcel.Cells(nRows,7), oExcel.Cells(nRows,7)) .HorizontalAlignment = 3 .MergeCells = .T. .Font.Bold = .T. .Font.ColorIndex = 5 .Font.Size = 8 ENDWITH ** Formato columna Haber WITH oExcel.Range(oExcel.Cells(nRows,8), oExcel.Cells(nRows,8)) .HorizontalAlignment = 3 .MergeCells = .T. .Font.Bold = .T. .Font.ColorIndex = 5 .Font.Size = 8 ENDWITH ** Formato para el Título x = 1&&Se usa para la fila oExcel.Cells(x,1) = "Movimiento General" WITH oExcel.Range(oExcel.Cells(1, 1), oExcel.Cells(1,8)) &&combina desde la columna 1 hasta 8 .HorizontalAlignment = 3 .MergeCells = .T. .Font.Bold = .T. .Font.ColorIndex = 5 .Font.Size = 14 ENDWITH ** Preparando vista previa WITH oExcel.ActiveSheet.PageSetup .PrintArea = "$A$1:$J$" + ALLTRIM(STR(nRows + 2)) .PrintTitleRows = "$1:$9" .PrintTitleColumns = "" .Zoom = .f. .FitToPagesWide = 1 .FitToPagesTall = 100 .Orientation = 1 .PaperSize = 1 *.CenterFooter ="COT. " + ALLTRIM(rpcab.nombre) *.RightFooter = "Página &P" ENDWITH *oExcel.ActiveWindow.SelectedSheets.PrintPreview h = "SysGes" +" - "+Wtitle() Messagebox("Exportación de datos completados","&h"
Datos archivados del Taringa! original
1puntos
0visitas
0comentarios
Actividad nueva en Posteamelo
0puntos
3visitas
0comentarios
Dar puntos:

Dejá tu comentario

0/2000

Autor del Post

o
orgware🇦🇷
Usuario
Puntos0
Posts7
Ver perfil →
PosteameloArchivo Histórico de Taringa! (2004-2017). Preservando la inteligencia colectiva de la internet hispanohablante.

CONTACTO

18 de Septiembre 455, Casilla 52

Chillán, Región de Ñuble, Chile

Solo correo postal

© 2026 Posteamelo.com. No afiliado con Taringa! ni sus sucesores.

Contenido preservado con fines históricos y culturales.