Exportar datos a Microsoft Excel

Hola! Saludos expertos! Quisiera saber como exportar los datos que tengo en los campos de una tabla de foxpro a una hoja de excel sin utilizar COPY TO ... TYPE XLS. Quisiera saber si existe alguna manera de enviar los datos de la tabla a la hoja y que esta no se guarde automáticamente, sino que al dar click en el botón exportar, la hoja de excel se abra, se rellene con los datos de la tabla y que yo pueda disponer de ella para guardarla luego a mi gusto. De antemano muchas gracias! Saludos!
Respuesta
1
Este código hace exactamente lo que tu necesitas :
*!* GENERACION A MICROSOFT EXCEL
LError = ON('error')
ON ERROR xlapp = NULL
xlapp = GETOBJECT('Excel Application')
ON ERROR &LError
IF ISNULL(xlapp)
 xlapp = CREATEOBJECT('Excel.Application')
ENDIF
WITH xlapp
 .VISIBLE = 'True'
    .DisplayAlerts = 'False'
    .Workbooks.ADD()
ENDWITH
xlsheet = xlapp.ActiveSheet
WITH xlsheet
 .COLUMNS("A:A").ColumnWidth = 22.00
 .COLUMNS("B:B").ColumnWidth = 15.00
 .COLUMNS("C:C").ColumnWidth = 15.00
ENDWITH
Fila = 1
xlsheet.Cells(Fila,1).Value = 'CONSULTA DE DATOS DE FACTURAS'
WITH xlsheet.Range("A1:D1")
 .Font.Bold = 'True'
 .Font.Size = '14'
 .WrapText = 'False'
 .Merge
ENDWITH
WITH xlsheet.Range("A3:A8")
 .Font.Bold = 'True'
ENDWITH
Fila = Fila + 2
xlsheet.Cells(Fila,1).Value = "Nro. De Egreso :"
xlsheet.Cells(Fila,2).Value = Id_Egreso
Fila = Fila + 1
xlsheet.Cells(Fila,1).Value = "Fecha De Egreso :"
xlsheet.Cells(Fila,2).Value = Fecha
Fila = Fila + 1
xlsheet.Cells(Fila,1).Value = "Nro de Factura :"
xlsheet.Cells(Fila,2).Value = Mo_Fact
Fila = Fila + 1
xlsheet.Cells(Fila,1).Value = "Cliente :"
xlsheet.Cells(Fila,2).Value = ALLTRIM(Cliente)
Fila = Fila + 1
xlsheet.Cells(Fila,1).Value = "Supervisor :"
xlsheet.Cells(Fila,2).Value = ALLTRIM(Vendedor)
Fila = Fila + 1
xlsheet.Cells(Fila,1).Value = "Total Factura :"
xlsheet.Cells(Fila,2).Value = TRANSFORM(Total,'@T 99,999.99')
WITH xlsheet.Range("A10:C10")
 .Font.Bold = 'True'
ENDWITH
Fila = Fila + 2
xlsheet.Cells(Fila,1).Value = 'CODIGO'
xlsheet.Cells(Fila,2).Value = 'TARJETA 1'
xlsheet.Cells(Fila,3).Value = 'TARJETA 2'
Fila = Fila + 1
SELECT cDatosFactura
SCAN
 xlsheet.Cells(Fila,1).Value = "'" + ALLTRIM(Codigo)
 xlsheet.Cells(Fila,2).Value = "'" + ALLTRIM(Tarjeta1)
 xlsheet.Cells(Fila,3).Value = "'" + ALLTRIM(Tarjeta2)
 Fila = Fila + 1
ENDSCAN
Fila = Fila + 1
xlsheet.Cells(Fila,1).Value = 'TOTAL CHIPS :'
xlsheet.Cells(Fila,2).Value = RECCOUNT()
xlsheet.Cells(Fila,1).Font.Bold = 'TRUE'
xlsheet.Cells(Fila,2).Font.Bold = 'TRUE'
Hola! Utilice el código que me diste y lo adecue a mis datos (tablas y campos). La parte que quería de abrir excel desde foxpro y guardar a mi antojo funciono perfectamente! Gracias! Pero tengo un problema. Al abrir excel, en la hoja no se exportan todos los datos. Te explico: tengo una tabla (master_productos) con 3 campos: código, descripción y medida. Existen muchos registros en la tabla. Al adecuar el código y abrir excel, solo pasan los datos del primer registro en la tabla. Quisiera saber si puedes ayudarme! Quisiera que los campos de la tabla pasaran a excel en columnas, manteniendo el orden y la estructura! Es decir, que pasen todos los datos a la hoja de excel algo así:
Código descripción medida
110                     lapiz                       caja
112                     borrador                 unidad
113                     cuaderno                caja
De ante mano muchas gracias!
De pronto me podrías enviar en un archivo de texto todo el código que usas para exportar los datos para ver si de pronto algo no estas haciendo bien, envialo a [email protected], saludos

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas