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
ERROR al Leer desde Excel
Re: ERROR al Leer desde Excel
Hola Mauro:
Recuerda que en en Excel la primera línea es la línea 0 (no la 1)
Un abrazo.
Manuel Mercado.
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
-
- Posts: 31
- Joined: Fri Mar 17, 2006 2:04 pm
Re: ERROR al Leer desde Excel
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.
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.
- Alfredo Arteaga
- Posts: 326
- Joined: Sun Oct 09, 2005 5:22 pm
- Location: Mexico
- Contact:
Re: ERROR al Leer desde Excel
Enviame una hoja y la rutina con que estas importando los datos a soporte@despachoarteaga.com.mx. En mi caso funciona (eso creo).
-
- Posts: 31
- Joined: Fri Mar 17, 2006 2:04 pm
Re: ERROR al Leer desde Excel
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
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
Re: ERROR al Leer desde Excel
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
Saludos
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
nRows := oHoja:UsedRange:Rows:Count()
MsgInfo(nRows) // Esto debe ser igual a los renglones que contaste
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
estbucarm@gmail.com
http://www.soisa.mex.tl/
http://sqlcmd.blogspot.com/
Tel. (722) 174 44 45
Carpe diem quam minimum credula postero
-
- Posts: 31
- Joined: Fri Mar 17, 2006 2:04 pm
Re: ERROR al Leer desde Excel
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
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
SaludosCode: Select all
nRows := oHoja:UsedRange:Rows:Count() MsgInfo(nRows) // Esto debe ser igual a los renglones que contaste
- Alfredo Arteaga
- Posts: 326
- Joined: Sun Oct 09, 2005 5:22 pm
- Location: Mexico
- Contact:
Re: ERROR al Leer desde Excel
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
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
-
- Posts: 31
- Joined: Fri Mar 17, 2006 2:04 pm
Re: ERROR al Leer desde Excel
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.
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