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

Leer EXCEL desde ASP

Estas en el tema de Leer EXCEL desde ASP en el foro de ASP Clásico en Foros del Web. Tengo una hoja EXCEL que la estoy leyendo desde ASP, presentando en pantalla una lista. Todo bien hasta que llega una celda que contiene un ...
  #1 (permalink)  
Antiguo 08/06/2007, 05:12
 
Fecha de Ingreso: marzo-2006
Mensajes: 17
Antigüedad: 18 años, 3 meses
Puntos: 0
Leer EXCEL desde ASP

Tengo una hoja EXCEL que la estoy leyendo desde ASP, presentando en pantalla una lista. Todo bien hasta que llega una celda que contiene un número. Sólo me pinta lo que contiene texto, y no números.

He probado en EXCEL con diveros formatos de celda, pero nada. Curiosamente si en ASP hago un VARTYPE del dato me dice que es NULL (da valor 1), y por lo tanto no puedo utilizar las funciones de conversión CSTR, CINT, CDBL ni CLNG. porque el valor es null.

Si la celda contiene texto, entonces todo marcha bien y el VARTYPE me da variable de texto (valor 8). Pero si convierto en EXCEL las celdas de numero a texto no puedo operar con ellas y eso no me sirve.

Me gustaría solucionarlo desde ASP, dado que la hoja EXCEL pasará por muchas manos. ¿Que le pasa al ASP que no me interpreta el valor numérico? ¿Como puedo convertir y leer ese valor numérico desde ASP? ¿Quizas falta alguna sentencia en el encabezado del código?
  #2 (permalink)  
Antiguo 08/06/2007, 07:50
Avatar de Myakire
Colaborador
 
Fecha de Ingreso: enero-2002
Ubicación: Centro de la república
Mensajes: 8.849
Antigüedad: 22 años, 4 meses
Puntos: 146
Re: Leer EXCEL desde ASP

mmmmmmmmmmmm, cómo abres el Excel?, nunca he tenido problemas de formatos cuando proceso hojas Excel

Tienes algo similar a esto?:

Código:
    sSourceXLS = Server.MapPath(".") & "\Excel\Rollos.xls"
 
    Dim oConn
    Set oConn = Server.CreateObject("ADODB.Connection")
    oConn.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _
               "Data Source=" & sSourceXLS & ";" & _
               "Extended Properties=""Excel 8.0;HDR=YES;"""

    Dim oRS 
    Set oRS = Server.CreateObject("ADODB.Recordset")
    oRS.Open "Select * from [Rollos$A1:Y1000]", oConn, 1, 3
  #3 (permalink)  
Antiguo 11/06/2007, 01:29
 
Fecha de Ingreso: marzo-2006
Mensajes: 17
Antigüedad: 18 años, 3 meses
Puntos: 0
Re: Leer EXCEL desde ASP

----------------------------------
Path=Server.MapPath("datos/cmi2.xls")

Set ConexionBD = Server.CreateObject("ADODB.Connection")

ConexionBD.Open "DRIVER={Microsoft Excel Driver (*.xls)};DBQ=" & Path

Set rsVac = Server.CreateObject("ADODB.Recordset")

rsVac.Open "Select * From p2:ab195", ConexionBD,3,3

rsVac.MoveFirst

--------------------------------

Este es mi código. He probado con el que tu me sugieres y me ha funcionado perfectamente. No acabo de ver cual es la diferencia, aunque me inclino a que debe ser el uso de la sentencia de SQL "select". Lo importante es que me ha funcionado.

Muchas gracias.
  #4 (permalink)  
Antiguo 11/06/2007, 07:25
Avatar de Myakire
Colaborador
 
Fecha de Ingreso: enero-2002
Ubicación: Centro de la república
Mensajes: 8.849
Antigüedad: 22 años, 4 meses
Puntos: 146
Re: Leer EXCEL desde ASP

Son dos cosas por lo que veo, en tu código no defines parámetros extendidos indicando que la primer fila de la hoja tiene los nombres de los campos y en el select no defines rangos, sino grupos nombrados.

En fin, que bueno que te funcionó.
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 13:57.