Exportar a excel 2010, 2013 (.xslx) desde visual foxpro 7.0

6,826 views
Skip to first unread message

Pedro Antonio Angarita Rojas

unread,
Mar 31, 2016, 2:48:20 PM3/31/16
to Mundo Visual FoxPro
Buenas tardes para todos,

teno un problema y es que en vfp 7.0 no he podido exportar cursores a .xlsx solo a .xls como en este ejemplo

 SELECT * FROM RESULT ORDER BY FECHA_PROC INTO CURSOR CEXPOR
 SELECT CEXPOR
 GO TOP

 EXPORT TO 'C:\archivo' TYPE XLS

la idea es poder exportalo .xlsx pero esa opción no pareciera viable, alguien conoce algún ocx y/o plugin para esa versión de foxpro que pudiese hacerlo?

de antemano muchas gracias.

saludos,

Att:
Pedro Angarita

Fidel Charny

unread,
Mar 31, 2016, 4:45:15 PM3/31/16
to Mundo Visual FoxPro
Lo puedes hacer por automatización
Un ejemplo mínimo. Busca en el blogspot de la comunidad que hay muy buen material.
PROCEDURE exp_to_excel
LPARAMETERS tcCursor

LOCAL loExcel
as Object,;
    loBook
as Object,;
    loSheet
as Object
   

loExcel
= CREATEOBJECT("Excel.Application")
loBook
= loExcel.workbooks.ADD()
loSheet
= loExcel.ActiveSheet

WAIT
"Enviando Datos" WINDOW AT 20,50 NOWAIT
SELECT
(tcCursor)
lnFields
= AFIELDS(laFields,tcCursor)
lnRow
= 0
SCAN
    lnRow
= m.lnRow + 1
    FOR lnCol
= 1 TO FCOUNT(tcCursor)
        lcValor
= EVALUATE(tcCursor+"."+FIELD(lncol))
        DO CASE
            CASE laFields
[lnCol,2]="D" AND EMPTY(lcValor)
                lcValor
= null
            CASE laFields
[lnCol,2]="T"
                lcValor
= TTOC(lcvalor)
            CASE laFields
[lnCol,2]="L"
                lcValor
= TRANSFORM(lcValor)
        ENDCASE
        loSheet
.Cells(lnRow,lnCol).value = m.lcValor
    NEXT

ENDSCAN

loBook
.SaveAs(JUSTSTEM(tcCursor))
WAIT CLEAR
loExcel
.visible=.t.

Pedro Antonio Angarita Rojas

unread,
Apr 1, 2016, 4:31:48 PM4/1/16
to Mundo Visual FoxPro
Hola Fidel y muchas gracias por tu respuesta, al respecto quisiera preguntarte:

para ejecutar esa rutina se necesita MS excel instalado en el equipo cliente? o algunas dll específicas?

ahora en la opción loBook.SaveAs(JUSTSTEM(tcCursor)) me permite guardarlo como .xlsx?

te cuento que la idea es que en el cliente no va a estar instalado MSEXcel en ninguna versión por eso busco poder exportalo en .xlsx para que se abra desde OnDrive office web.

saludos,

Fidel Charny

unread,
Apr 1, 2016, 6:15:48 PM4/1/16
to Mundo Visual FoxPro
1) Necesitas tener Microsoft Excel instalado en el equipo
2) En las versiones Office 2007 en adelante, generará un xlsx salvo que pongas el parámetro de tipo de archivo.

Alternativamente puedes utilizar el código publicado por Luis María Guayán (que es más completo, prolijo, etc) en
http://comunidadvfp.blogspot.com/2006/10/exportar-cursor-vfp-excel.html

Pedro Antonio Angarita Rojas

unread,
Apr 4, 2016, 11:15:51 AM4/4/16
to Mundo Visual FoxPro
Buenos días, revisando los foros encontré algo que me puede servir pero al intentar conectarme falla..

m.loConnection.ConnectionString = ;
 'Provider=Microsoft.ACE.OLEDB.12.0;'+;
 'Data Source='+'C:\Users\PedroA\Desktop\pr.xlsx'+';'+;
 'Extended Properties="Excel 12.0;HDR='+;
 IIF(1=1,'Yes','No')+'"'

este es el error que genera:
OLE IDispatch exception code 0 from ADODB.Connection: Provider cannot be found. It may not be properly installed...

según varios foros es por el office que está en 64 bits..


y ya instalé el AccessDatabaseEngine_x64 y aún así sigue generando el error,

agradezco si alguien sabe como solucionarlo

saludos,

Alejandro Garcia G.

unread,
Apr 7, 2016, 4:47:53 PM4/7/16
to Mundo Visual FoxPro
Saludos Pedro, no se si te sirva pero esta clase a mi me sirve para exportar a XLSX, la he usado en VFP 8 y 9 y me tabaja bien, no se si sirve para VFP 7, intentalo para ver.


ExcelExportXLSX1.3.3.8.zip

Pedro Antonio Angarita Rojas

unread,
Apr 7, 2016, 5:35:22 PM4/7/16
to mundovis...@googlegroups.com
Muchas gracias Alejandro,

el principal problema que he tenido con las rutinas de VFP 8 y VFP 9 es el famoso cursoradapater que no existe en VFP 7, los otros comandos los puedo emular por ejemplo Icase o excluir el try catch...

sin embargo el archivo ExcelXLSX.vcx no abre en vfp 7.0 me genera el error:

Microsoft Visual FoxPro
OK
Help
Property value is out of bounds.

por otra parte, el archivo ExcelXLSX.vct lo puedo ver desde el notepad ++ y puedo intentar copiar las funciones principales para mi propósito específico que es exportar a excel 2007 en adelante (.xlsx) así como venga el cursor, en el momento.

cualquier cosa te comento 

y de nuevo muy agradecido.

2016-04-07 15:47 GMT-05:00 Alejandro Garcia G. <bitnet...@gmail.com>:
Saludos Pedro, no se si te sirva pero esta clase a mi me sirve para exportar a XLSX, la he usado en VFP 8 y 9 y me tabaja bien, no se si sirve para VFP 7, intentalo para ver.


--
_______________________________________________________________
Has recibido este mensaje porque estás suscrito al Grupo "Mundo Visual
FoxPro" de Grupos de Google.
 
Para anular la suscripción a este grupo, envía un mensaje a:
mundovisualfox...@googlegroups.com
---
Has recibido este mensaje porque estás suscrito a un tema del grupo "Mundo Visual FoxPro" de Grupos de Google.
Para anular la suscripción a este tema, visita https://groups.google.com/d/topic/mundovisualfoxpro/YH1DnNfb4S8/unsubscribe.
Para anular la suscripción a este grupo y a todos sus temas, envía un correo electrónico a mundovisualfox...@googlegroups.com.
Para acceder a más opciones, visita https://groups.google.com/d/optout.



--

Visita: http://angaritapedroantonio.googlepages.com/

Atte.

PEDRO ANTONIO ANGARITA ROJAS

Sr. SYSTEMS ENGINEER GRAINGER COLOMBIA IT

PROJECT MANAGEMENT PROFESSIONAL (PMP, PMI) CERTIFIED

TOGAF CERTIFIED LEVEL I & II

ESPECIALISTA EN INGENIERÍA DE SOFTWARE UDISTRITAL FCO JOSÉ DE CALDAS

INGENIERO DE SISTEMAS UNAD CEAD JOSÉ ACEVEDO Y GOMEZ

ADMINISTRADOR INDUSTRIAL UPTC FACULTAD SECCIONAL DUITAMA

Daniel Manuel López

unread,
Apr 7, 2016, 11:51:02 PM4/7/16
to mundovis...@googlegroups.com

Pedro,

Deberías intentar usar la clase EXCELXML es muy sencilla y puede usarse en cualquier EXCEL

Su mecánica es muy simple, ya que convierte desde VFP al lenguaje y datos XML.

Ya estando en XML puede ser traducido por cualquier EXCEL

Yo lo uso en todos mis sistemas y no tengo problemas

Saludos


De: mundovis...@googlegroups.com <mundovis...@googlegroups.com> en nombre de Pedro Antonio Angarita Rojas <angaritape...@gmail.com>
Enviado: jueves, 7 de abril de 2016 04:35:20 p. m.
Para: mundovis...@googlegroups.com
Asunto: Re: [Mundo Visual FoxPro] Re: Exportar a excel 2010, 2013 (.xslx) desde visual foxpro 7.0
 
Has recibido este mensaje porque estás suscrito al grupo "Mundo Visual FoxPro" de Grupos de Google.
Para anular la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a mundovisualfox...@googlegroups.com.

Pedro Antonio Angarita Rojas

unread,
Apr 8, 2016, 10:09:44 PM4/8/16
to mundovis...@googlegroups.com
Hola Daniel y muchas gracias por tu respuesta,

donde consigo esa clase ExcelXML? funciona con vfp 7.0?

muchas gracias

saludos,

Daniel Manuel López

unread,
Apr 8, 2016, 11:02:51 PM4/8/16
to mundovis...@googlegroups.com

 No se si corra en VFP 7.0 pero considero que si, deberías probarlo:


https://vfpx.codeplex.com/wikipage?title=ExcelXML&referringTitle=Home

A Visual FoxPro Community effort to create open source add-ons for Visual FoxPro 9.0. The code, classes, and libraries made available here are the result of a community-based effort to support and extend Visual FoxPro.



De: mundovis...@googlegroups.com <mundovis...@googlegroups.com> en nombre de Pedro Antonio Angarita Rojas <angaritape...@gmail.com>
Enviado: viernes, 8 de abril de 2016 09:09:42 p. m.

Pedro Antonio Angarita Rojas

unread,
Apr 8, 2016, 11:06:11 PM4/8/16
to mundovis...@googlegroups.com
Perfecto Daniel muchas gracias,

lo reviso y te cuento

saludos,
Reply all
Reply to author
Forward
0 new messages