FoxPro/Visual FoxPro - Duda al Exportar a Excel

 
Vista:
sin imagen de perfil

Duda al Exportar a Excel

Publicado por Amado Garcia Lara (68 intervenciones) el 07/02/2009 04:24:07
Hola buenas noches tengan ustedes amigos... quisiera que me ayudaran con lo siguiente
tengo una tabla "VIRTUAL" con los campos TelOrigen, TelDestino, Minutos, costo, ciudad la cual importo un archivo llamado 0F15787.TXT.. que se refiere a varios telefonos que los quiero exportar a excel un archivo XLS para cada telefono (telorigen) mi rutina es como sigue:

***** CRANDO CURSOR DE LA TABLA VIRTUAL
SELECT cuenta,telorigen,fecha_em,teldestino,Fecha,minutos,;
importe,ciudad,horaini FROM virtual ORDER BY telorigen INTO CURSOR Resultado

*** Cargando Cursor en el Primer Registro******
SELECT resultado
GO top
nametabla=ALLTRIM(TelOrigen)
DO WHILE ! EOF()
COPY TO (Nomtable) FOR ALLTRIM(TelOrigen)=Nomtable TYPE xls
Skip
IF ALLTRIM(TelOrigen)<>nametabla
nametabla=ALLTRIM(TelOrigen)
ELSE
Loop
Endif
enddo

La ides de esto que al ir viajando por el cursor "Resultado" y en cada Telefono Origen se detenga tome el numero telefonico y que lo copie a excel y asi sucesivamente hasta llegar al final de la tabla...

Alguien tiene alguna mejor idea... o me puediera orientar sobre el uso del Do While... o si es mejor hacerlo en un FOR ENDFOR... me podria ayudar con esta rutina...

Muchas Gracias Amigos
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Duda al Exportar a Excel

Publicado por HELDER MARTINEZ (COUNDY) (711 intervenciones) el 09/02/2009 17:45:29
**tablas
SELECT registro
GO TOP
SELECT categoria

**********************exportando a Excel***********
IF nExcel = 1
**copiando campos a matriz
COPY TO ARRAY _excel FIELDS categoria, usuario

***creando libro de Excel
o=CREATEOBJECT("Excel.sheet")
o.application.visible = .t.
o.application.workbooks.add()
o=o.application.sheets[1]

**creando encabezado***
o.cells(1, 1).value = ALLTRIM(registro.nom_empresa)
o.application.rows(1).font.color = RGB(0,128,0)
o.application.rows(1).font.bold = .t.
o.application.rows(1).font.size = 20
**
o.cells(2, 1).value = ALLTRIM(PROPER(registro.direccion_emp))
o.application.rows(2).font.color = RGB(0,128,0)
**
o.cells(3, 1).value = ALLTRIM(registro.telefono_emp)
o.application.rows(3).font.color = RGB(0,128,0)
**
o.cells(4, 1).value = UPPER("listado de Categorias")
o.application.rows(4).font.color = RGB(255,0,0)
o.application.rows(4).font.bold = .t.
o.application.rows(4).font.size = 15
o.application.rows(4).font.underline = .t.

***los header de las columnas
o.cells(6, 1).value = UPPER("categoria")
o.application.rows(6).font.color = RGB(0,0,255)
o.application.rows(6).font.bold = .t.
o.application.rows(6).font.size = 12
o.application.rows(6).font.underline = .t.
o.application.columns(1).columnwidth = 50
**
o.cells(6, 2).value = UPPER("agrego")
o.application.columns(2).columnwidth = 30

**datos de tabla***
FOR i = 1 TO _tally
o.cells(i+6, 1).value = PROPER(_excel(i, 1))
o.cells(i+6, 2).value = PROPER(_excel(i, 2))
ENDFOR
***
FOR r = 1 TO i
SELECT usuario_temp
o.cells(i+8, 1).value = UPPER("impreso por:") + " " + ALLTRIM(PROPER(usuario_temp.usuario))
o.cells(i+8, 1).font.bold = .t.
**
o.cells(i+9, 1).value = DATETIME()
ENDFOR
RETURN .f.
ENDIF

Yo lo hago de esta forma.

saludes
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar