ERROR al Leer desde Excel

ERROR al Leer desde Excel

Postby un_jeepero » Fri Jul 31, 2009 2:54 am

Estimados Ayuda por favor...

Necesito leer desde una planilla Excel la informacion que genera el usuario, este archivo tiene 9 Columnas e indefinidas Filas, la cosa es que NO logro entender por que siempre me deja fuera de la lectura las ultimas 2 o 3 filas.
este codigo utilizo:

oExcel := TOleAuto():New( "Excel.Application" )
cFile := cGetFile("*.XLS", "Seleccione Fichero")
if empty( cFile)
retur nil
endif

oExcel:WorkBooks:Open( cFile )
oHoja := oExcel:ActiveSheet

nRows := oHoja:UsedRange:Rows:Count() ---->Esto NO lee todas las filas, siempre falta por leer 1 o 2
nCols := oHoja:UsedRange:Columns:Count()

FOR nRow := 01 TO (nRows)
AAdd( ::aDatos,{NIL,NIL,NIL,NIL,NIL,NIL,NIL,NIL,NIL } )
FOR nCol := 1 TO nCols
nAt := Len( ::aDatos )
xValue := oHoja:Cells(nRow,nCol):Value
::aDatos[nAt][nCol] := xValue
SysRefresh()
NEXT
Memory(-1)
NEXT
oExcel:Quit()

alguien tiene alguna opinion?? existe otra forma de leer informacion desde planillas Excel.

gracias a todos

Mauro
un_jeepero
 
Posts: 31
Joined: Fri Mar 17, 2006 2:04 pm

Re: ERROR al Leer desde Excel

Postby mmercado » Fri Jul 31, 2009 6:28 am

Hola Mauro:

Recuerda que en en Excel la primera línea es la línea 0 (no la 1)

Un abrazo.

Manuel Mercado.
manuelmercado at prodigy dot net dot mx
User avatar
mmercado
 
Posts: 782
Joined: Wed Dec 19, 2007 7:50 am
Location: Salamanca, Gto., México

Re: ERROR al Leer desde Excel

Postby un_jeepero » Sat Aug 01, 2009 12:35 am

Estimado Manuel

Los datos a leer parten en la linea 1, y aunque partieran en la 0.

NO se leen todas las Filas
nRows := oHoja:UsedRange:Rows:Count() ---->Esto NO lee todas las filas, siempre falta por leer 1 o 2
nCols := oHoja:UsedRange:Columns:Count()

Salu2, sigo buscan la solución.
un_jeepero
 
Posts: 31
Joined: Fri Mar 17, 2006 2:04 pm

Re: ERROR al Leer desde Excel

Postby Alfredo Arteaga » Sat Aug 01, 2009 12:54 am

Enviame una hoja y la rutina con que estas importando los datos a soporte@despachoarteaga.com.mx. En mi caso funciona (eso creo).
User avatar
Alfredo Arteaga
 
Posts: 326
Joined: Sun Oct 09, 2005 5:22 pm
Location: Mexico

Re: ERROR al Leer desde Excel

Postby un_jeepero » Sat Aug 01, 2009 2:20 am

Estimado Alfredo

Muchas gracias por tu cooperación, te prepare un compacto y lo envie al correo que me indicaste.

muchas gracias esta cosa me tiene loco....

salu2

Mauro
un_jeepero
 
Posts: 31
Joined: Fri Mar 17, 2006 2:04 pm

Re: ERROR al Leer desde Excel

Postby Armando » Sat Aug 01, 2009 2:52 am

Mauro:

Me parece que el problema no esta donde lo señalas, creo que el problema esta en tu código
de los FOR .. NEXT

Abre el libro con Excel y cuenta cuantas filas hay, despues metes un MsgInfo()
en tu código inmediatamente despues de contar las filas para ver cuanto te
reporta

Code: Select all  Expand view

nRows := oHoja:UsedRange:Rows:Count()
MsgInfo(nRows) // Esto debe ser igual a los renglones que contaste
 


Saludos
SOI, s.a. de c.v.
estbucarm@gmail.com
http://www.soisa.mex.tl/
http://sqlcmd.blogspot.com/
Tel. (722) 174 44 45
Carpe diem quam minimum credula postero
User avatar
Armando
 
Posts: 3177
Joined: Fri Oct 07, 2005 8:20 pm
Location: Toluca, México

Re: ERROR al Leer desde Excel

Postby un_jeepero » Sat Aug 01, 2009 3:59 am

Estimado Armando

Eso fue lo que primero revise!!!, siempre tengo mas filas en la planilla Excel que las que se leen con
nRows := oHoja:UsedRange:Rows:Count()
ejemplo:
Planilla tiene 10 filas, y a veces oHoja:UsedRange:Rows:Count() arroja == 8 o 9, no entiendo por que deja algunas afuera.
tambien en la planilla las he puesto en diferentes posiciones las ultimas al principio, las de al medio al ultimo, la primeras al final.....

el For.. Next guarda bien los datos que se logran leer.. el problema esta antes del for..next

sigo buscando.

Gracias.

Mauro

Armando wrote:Mauro:

Me parece que el problema no esta donde lo señalas, creo que el problema esta en tu código
de los FOR .. NEXT

Abre el libro con Excel y cuenta cuantas filas hay, despues metes un MsgInfo()
en tu código inmediatamente despues de contar las filas para ver cuanto te
reporta

Code: Select all  Expand view

nRows := oHoja:UsedRange:Rows:Count()
MsgInfo(nRows) // Esto debe ser igual a los renglones que contaste
 


Saludos
un_jeepero
 
Posts: 31
Joined: Fri Mar 17, 2006 2:04 pm

Re: ERROR al Leer desde Excel

Postby Alfredo Arteaga » Sat Aug 01, 2009 5:27 am

Te comento Mauricio:

1. Tome tu rutina y la agregué a una de mis aplicaciones. Hay algo extraño no la pude ejecutar (NPI).
2. Tome tus hojas y las abrí con una rutina que importa los datos de clientes y en efecto NO se detecta la cantidad de filas existentes (-2).
3. Copié el contenido de las hojas a un nuevo archivo sin formato y SI FUNCIONO.

Si ser una conclusión convincente puedo decir que el formato de las hojas está influyendo en la lectura. Desconozco si hay alguna opción o parámetro para indicarle a la clase que tome el contenido de la hoja sin considerar el formato.

Saludos,
Alfredo Arteaga
User avatar
Alfredo Arteaga
 
Posts: 326
Joined: Sun Oct 09, 2005 5:22 pm
Location: Mexico

Re: ERROR al Leer desde Excel

Postby un_jeepero » Sat Aug 01, 2009 4:21 pm

Estimado Alfredo

Muchas gracias por tu tiempo.

tambien pienzo que es algo con el formato de la planilla Excel.

intentare explicarle al cliente que no le asigne formato a sus planillas, para que así puedan ser leidas NO veo otra solución de momento.

muchas gracias nuevamente.

salu2

Mauro.


Alfredo Arteaga wrote:Te comento Mauricio:

1. Tome tu rutina y la agregué a una de mis aplicaciones. Hay algo extraño no la pude ejecutar (NPI).
2. Tome tus hojas y las abrí con una rutina que importa los datos de clientes y en efecto NO se detecta la cantidad de filas existentes (-2).
3. Copié el contenido de las hojas a un nuevo archivo sin formato y SI FUNCIONO.

Si ser una conclusión convincente puedo decir que el formato de las hojas está influyendo en la lectura. Desconozco si hay alguna opción o parámetro para indicarle a la clase que tome el contenido de la hoja sin considerar el formato.

Saludos,
Alfredo Arteaga
un_jeepero
 
Posts: 31
Joined: Fri Mar 17, 2006 2:04 pm


Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: Google [Bot] and 91 guests

cron