Abrir Archivo Excel desde VFP

2,503 views
Skip to first unread message

Jairo Cedeño

unread,
Dec 11, 2016, 9:22:10 PM12/11/16
to Comunidad de Visual Foxpro en Español
Estimados colegas, un cordial saludo...Tengo el siguiente escenario:
Necesito abrir un archivo .XLS desde VFP y realizar consultas SQL como si pudiera hacerle a una tabla dbf.
Ejemplo: abrir(miarchivo.xls) alias origendatos y después hacer Select * from origendatos where mywhere

para después realizar ciertos procedimientos con los datos obtenidos...

Si alguno tiene experiencia con ésto le agradezco su gentil ayuda...

Víctor Hugo Espínola Domínguez

unread,
Dec 11, 2016, 10:42:57 PM12/11/16
to publice...@googlegroups.com
Adjunto un ejemplo

Saludos,
Víctor.
Lambaré - Paraguay.

xls2cur1.PRG

Jairo Cedeño

unread,
Dec 11, 2016, 10:46:31 PM12/11/16
to Comunidad de Visual Foxpro en Español
Gracias Victor, ya lo estoy probando pero tengo el siguiente error

"La tabla externa no tiene el formato esperado"

Víctor Hugo Espínola Domínguez

unread,
Dec 11, 2016, 10:49:38 PM12/11/16
to publice...@googlegroups.com
Envía la planilla excel.

Saludos,
Víctor.
Lambaré - Paraguay.


Víctor Hugo Espínola Domínguez

unread,
Dec 11, 2016, 10:50:28 PM12/11/16
to publice...@googlegroups.com
Adjunto una planilla para que pruebes el programa

Saludos,
Víctor.
Lambaré - Paraguay.


El 12 de diciembre de 2016, 00:49, Víctor Hugo Espínola Domínguez<vich...@gmail.com> escribió:
Envía la planilla excel.

Saludos,
Víctor.
Lambaré - Paraguay.


Articulos.xls

Jairo Cedeño

unread,
Dec 11, 2016, 10:54:58 PM12/11/16
to Comunidad de Visual Foxpro en Español
plantilla.xlsx

Víctor Hugo Espínola Domínguez

unread,
Dec 11, 2016, 11:31:54 PM12/11/16
to publice...@googlegroups.com

Esa planilla tiene datos numéricos guardados en celdas de formato texto, es probable además que haya sido creada con una versión de Excel muy reciente, prueba guardando en xls 2003 y corrigiendo el formato de las celdas, los números debes verlos alineados a la derecha.

Saludos,
Víctor.
Lambaré - Paraguay.


mapner

unread,
Dec 12, 2016, 9:07:43 AM12/12/16
to Comunidad de Visual Foxpro en Español
La mejor música para programar es el sonido de una máquina de contar billetes... :)

sergio alejandro garcia mendez

unread,
Dec 12, 2016, 3:41:48 PM12/12/16
to publice...@googlegroups.com
Excelente y bien dicho...
--
Sergio A. García
correo tayi...@gmail.com

Carlos Miguel FARIAS

unread,
Dec 12, 2016, 8:04:47 PM12/12/16
to Grupo Fox
Mejor es cuando sentís el plof plof de los bolsos llenos de billetes, y sobre todo si la monja se apura

larue...@yahoo.com

unread,
Dec 12, 2016, 9:26:12 PM12/12/16
to publice...@googlegroups.com

--------------------------------------------
On Tue, 12/13/16, Carlos Miguel FARIAS <carlosmig...@gmail.com> wrote:

Subject: Re: [vfp] Re: Abrir Archivo Excel desde VFP
To: "Grupo Fox" <publice...@googlegroups.com>
Date: Tuesday, December 13, 2016, 3:04 AM

Mejor es
cuando sentís el plof plof de los bolsos llenos de
billetes, y sobre todo si la monja se apura
El 12 de diciembre de 2016,
17:41, sergio alejandro garcia mendez <tayi...@gmail.com>
escribió:
Excelente y bien dicho...
El 12 de diciembre de 2016,
8:07, mapner <mpis...@gmail.com>
escribió:
La mejor música para programar es el sonido de
una máquina de contar billetes... :)

El domingo, 11 de diciembre de
2016, 23:22:10 (UTC-3), Jairo Cedeño escribió:Estimados colegas,
un cordial saludo...Tengo el siguiente
escenario:Necesito abrir un archivo .XLS desde VFP y
realizar consultas SQL como si pudiera hacerle a una tabla
dbf.Ejemplo: abrir(miarchivo.xls) alias
origendatos y después hacer Select * from origendatos where
mywhere
para después
realizar ciertos procedimientos con los datos
obtenidos...
Si alguno
tiene experiencia con ésto le agradezco su gentil
ayuda...


--
Sergio
A. García
correo tayi...@gmail.com




um Banca Marmorosch Blank Banca Comerciala Romana Banca Generala

Jesús Guillén

unread,
Dec 12, 2019, 4:08:09 PM12/12/19
to Comunidad de Visual Foxpro en Español
LOCAL miExcel, lcConnstr, lcSQLCmd as String
LOCAL lnSuccess,lnSQLHand as Integer
LOCAL lcCursor as Cursor

miExcel= Getfile('xls, xlsx, xlsm, xlsb', 'Archivo:', 'Aceptar', 0, 'Seleccione una hoja de cálculo')
If Empty(miExcel)
Return .F.
Endif

Local loExcel As Excel.Application
loExcel = Createobject("Excel.application")

m.loExcel.Workbooks.Open(miExcel)
m.loExcel.Sheets(1).Select

Local oSheet As Object, lcSheet As String
oSheet = m.loExcel.ActiveSheet
lcSheet = m.oSheet.Name

loExcel.DisplayAlerts = .F.
m.loExcel.Workbooks.Close()
m.loExcel.Quit()
loExcel = Null
Release m.oSheet, m.loExcel

lcConnstr = [Driver={Microsoft Excel Driver (*.xls)};DBQ=] + miExcel
lnSQLHand = Sqlstringconnect( m.lcConnstr )

lcSQLCmd  = [Select * FROM "] + m.lcSheet + [$"]
lnSuccess = SQLExec( m.lnSQLHand, m.lcSQLCmd, [xlResults] )

SQLDisconnect(m.lnSQLHand)

BROWSE TITLE ALIAS()
* ---> el alias del cursor final es xlResults

Jesús Guillén

unread,
Dec 12, 2019, 4:08:45 PM12/12/19
to Comunidad de Visual Foxpro en Español
Reply all
Reply to author
Forward
0 new messages