Foros del Web » Programando para Internet » ASP Clásico »

Ayuda con pérdida de datos al leer un excel con asp

Estas en el tema de Ayuda con pérdida de datos al leer un excel con asp en el foro de ASP Clásico en Foros del Web. Hola, Estoy bastante aproblemado ya que necesito hacer una aplicación que permita al cliente enviar los resultados de algunas evaluaciones, estos resultados están en excel ...
  #1 (permalink)  
Antiguo 22/08/2007, 08:55
 
Fecha de Ingreso: agosto-2004
Mensajes: 131
Antigüedad: 19 años, 10 meses
Puntos: 2
Busqueda Ayuda con pérdida de datos al leer un excel con asp

Hola,

Estoy bastante aproblemado ya que necesito hacer una aplicación que permita al cliente enviar los resultados de algunas evaluaciones, estos resultados están en excel ...pero bueno, es lo que se definió (antes que de yo tomara el proyecto), así que con eso hay que trabajar no más...

El cuento es que al abrir el archivo excel, con algunos archivos específicos, el recordset pierde datos, esto quiere decir que algunas celdas en donde realmente hay datos en el excel el recordset me los devuelve con valor null y no tengo idea por qué pasa eso...

Es muy extraño por que pasa con celdas expecíficas, por ejemplo la posición 4,0 del recordset siempre la devuelve como null, sin embargo la 4,1 4,2 no...pero la 4,3 sí la devuelve null, obviamente en el excel todas esas posiciones tienen datos.

Es más extraño aún por que con otros archivos funciona todo bien, y por mucho que busco no encuentro ninguna diferencia (formato de celda, tipo de dato...) entre un archivo que funciona y otro que no, salvo la cantidad de datos...esto me lleva a pensar que quizás el recordset se marea cuando tiene que recibir más de N datos desde Excel, pero de ser así me presentaría un problema no menor de solucionar...

De todas formas lo mio son sólo especulaciones, quizás alguien tenga más experiencia con esto y me pueda dar una mano.

Muchas gracias por su ayuda, les dejo el código con el que abro el xls.

Código:
'nombre archivo se obtiene del archivo subido.
Path=Server.MapPath("../docs/" & nombre_archivo )
Set ConexionBD = Server.CreateObject("ADODB.Connection")
ConexionBD.Open "DRIVER={Microsoft Excel Driver (*.xls)};DBQ=" & Path
		
Set rsVac = Server.CreateObject("ADODB.Recordset")
rsVac.Source = "Select * From A1:AZ1000"
rsVac.CursorType = 3
rsVac.LockType = 1
rsVac.ActiveConnection = ConexionBD
rsVac.open

if not ( rsVac.EOF ) then
	rsVac.MoveFirst
        'rsVac(4) es una de las celdas que aparecen como null
        if ( isnull(rsVac(4)) ) then
              response.write "es nulo"
        end if
else
	dwx "No ha sido posible acceder al archivo Excel"
end if
  #2 (permalink)  
Antiguo 22/08/2007, 09:36
 
Fecha de Ingreso: agosto-2004
Mensajes: 131
Antigüedad: 19 años, 10 meses
Puntos: 2
SOLUCIONADO: Ayuda con pérdida de datos al leer un excel con asp

Hola,

El problema no tenia que ver con el código ni con la cantidad de datos, sino con el formato de excel. Si en alguna celda existe un dato objetado (por ejemplo: número almacenado como texto) entonces el recordset pierde datos pero no exactamente el dato que se encuentra en la celda objetada, sino el dato anterior.

Asi que deben preocuparse de que el excel esté completamente limpio de cualquier objeción, yo por lo menos dupliqué la hoja y luego usé la función VALOR() para evitar el problema de los números almacenados como texto.

Saludos
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 19:35.