¿Una preguntilla sobre excel en fox?

Pues veras amigo tengo una serie de reportes diseñados y pues la cuestión es que necesito que se exporten de alguna forma a excel (con todos los detalles de estos mismos)
Por ahí me comentaron una forma en visual fox pro 9.0 para poder hacer este proceso...
Es posible...
Cualquier ayuda sobre este problema te agradecería tu respuesta...
Gracias de antemano por la ayuda...
Un saludo afectuoso...
Adiossssssss...
Te paso mi mail también [email protected]

1 Respuesta

Respuesta
1
Te digo la que yo hago para exportar los datos de un reporte a excel es creando una rutina que exporte los datos con propiedads sde excel ...
Espero que esto te de una luz .. buen día ...
IF USED('AUXCAJ2')
SELECT AUXCAJ2
USE
ENDIF
CREATE VIEW AUXCAJ2 AS SELECT SPACE(10) AS NIT, SPACE(48) AS NOMBRE, SALDFG, SALDFP FROM AUXCAJA WHERE NIT='99999999999999'
SELECT 0
USE AUXCAJ2
APPEND FROM C:\TMPS\INF12.TXT SDF
GO TOP
DELETE FROM AUXCAJ2 WHERE SALDFG=0 AND SALDFP=0
GO TOP
**-- Declarando variable de manejo de errores
LOCAL IcErrorAnt
WAIT WINDOWS 'Un momento por favor abriendo Excel' NOWAIT
**-- Obtener el objeto hoja de excel (Abrir el Excel)
oHojaXL=GETOBJECT('PRUEBA','Excel.Sheet')
**-- VErificar si excel esta instalado
IF VARTYPE(oHojaXl)<>'O'
=MESSAGEBOX('No se detecta EXCEL en su PC',0+16+0,'Verificar Archivo Excel')
RETURN
ENDIF
**-- Crear el objeto Aplicacion Excel
oExcelApp=OHojaXl.Application
oExcelApp.Visible=.T. && Visible EXcel
**-- Añadir un libro de excel
oExcelApp.WorkBooks.Add()
**-- Activa la Hoja de Excel
oHojaXl=oExcelApp.ActiveSheet
**-- Llevar titulos a Excel
mfila=1
oHojaXL.Cells(mFila,2)='SALDO FINAL DE CAJAS HASTA '+DTOC(WHASTA)
mfila=mfila+2
**-- Llevar subtitulos a Excel
oHojaXL.Columns('A:E').EntireColumn.AutoFit
oHojaXL.Cells(mFila,1)='Codigo'
oHojaXL.Cells(mFila,2)='Nombre Cliente'
oHojaXL.Cells(mFila,3)='Grandes'
oHojaXL.Cells(mFila,4)='Pequeñas'
mFila=mFila+2
**-- Llenar los registros en excel
*SELECT * FROM g_client ORDER BY NOMBRE INTO CURSOR W1
SELECT AUXCAJ2
GO TOP
STORE 0 TO MtotalG,Mtotalp,Windica
DO WHILE .NOT.EOF()
SCATTER MEMVAR
* IF ((m.saldig-m.entrag)+m.salidg)>0 OR ((m.saldip-m.entrap)+m.salidp)>0
IF VAL(M.nit)=100
* IF Windica=1
* SKIP
* LOOP
* ELSE
* m.nombre='PLATAFORMA - BOGOTA'
* m.nit='005000'
* ENDIF
* Windica=1
ENDIF
oHojaXL.Cells(mfila,1)=ALLTR(m.nit)
IF VAL(m.nit)=100
m.nombre='.'+SUBSTR(m.Nombre,1,50)
ENDIF
IF VAL(m.nit)=1000
m.nombre='..'+SUBSTR(m.Nombre,1,50)
ENDIF
oHojaXL.Cells(mfila,2)=SUBSTR(m.Nombre,1,50)
oHojaXL.Cells(mfila,3)=m.saldFg
oHojaXL.Cells(mfila,4)=m.saldFp
MtotalG=MtotalG+m.saldFg
MtotalP=MtotalP+m.saldFp
mfila=mfila+1
* ENDIF
SKIP
ENDDO
mFila=mFila+1
oHojaXL.Cells(mfila,2)='TOTAL GENERAL'
oHojaXL.Cells(mfila,3)=MtotalG
oHojaXL.Cells(mfila,4)=MtotalP
SELECT AUXCAJ2
USE
**-- dar formato a la columna C
oExcelApp.Columns('C:C').select
oExcelApp.selection.NumberFormat='#,##0'
oExcelApp.Columns('D:D').select
oExcelApp.selection.NumberFormat='#,##0'
** indicar tamaño fijo de fijo para la columna A
*oExcelApp.Columns('A:A').ColumnWidth=10.71
*oExcelApp.Columns('B:B').ColumnWidth=35.00
**--Indicar tamaño incremental con base a los registros de cada columna
*oHojaXL.Columns('A:B').EntireColumn.AutoFit
**-- Indicar Fuente
oExcelApp.Range(oHojaXL.Cells(1,2),oHojaXL.Cells(1,2)).select
oExcelApp.Selection.Font.Name='Arial'
oExcelApp.Selection.Font.size=14
**-- dar color al pie de pagina
oExcelApp.Range(oHojaXL.Cells(mfila,1),oHojaXL.Cells(mfila,4)).select
oExcelApp.Selection.Font.Bold=.T.
oExcelapp.Selection.Interior.colorindex=35 && Verde Marino
**-- dar color a los titulos
oExcelApp.Range(oHojaXL.Cells(1,1),oHojaXL.Cells(1,4)).select
oExcelApp.Selection.Font.Bold=.T.
oExcelapp.Selection.Interior.colorindex=35 && Verde Marino
**-- dar color a los subtitulos
oExcelApp.Range(oHojaXL.Cells(3,1),oHojaXL.Cells(3,4)).select
oExcelApp.Selection.Font.Bold=.T.
oExcelapp.Selection.Interior.colorindex=35 && Verde Marino
IF USED('AUXCAJ2')
SELECT AUXCAJ2
USE
Endif

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas