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

Leer archivo Excel desde ASP

Estas en el tema de Leer archivo Excel desde ASP en el foro de ASP Clásico en Foros del Web. Hola, quisiera saber si alguien sabe como leer un archivo excel desde una pagina asp, sin necesidad de configurar el archivo excel con anterioridad. Es ...
  #1 (permalink)  
Antiguo 02/11/2006, 10:16
Avatar de Folken  
Fecha de Ingreso: noviembre-2006
Mensajes: 23
Antigüedad: 17 años, 6 meses
Puntos: 0
Leer archivo Excel desde ASP

Hola, quisiera saber si alguien sabe como leer un archivo excel desde una pagina asp, sin necesidad de configurar el archivo excel con anterioridad. Es decir, sin asignar un rango de lectura.
La idea es que la pagina se capaz de leer cualquier archivo excel, para luego trabajar con los datos obtenidos...

Por favor, si alguien sabe como hacer esto porfavor responda es urgente...
  #2 (permalink)  
Antiguo 02/11/2006, 11:48
Avatar de u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 22 años, 4 meses
Puntos: 98
SELECT * FROM [libro1$]

El comodin $ indica que leera el rango de campos ocupados.

Saludos
__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway
  #3 (permalink)  
Antiguo 02/11/2006, 12:35
Avatar de Folken  
Fecha de Ingreso: noviembre-2006
Mensajes: 23
Antigüedad: 17 años, 6 meses
Puntos: 0
Leer archivo Excel desde ASP

Hola U_GOLDMAN, gracias por la respuesta, pero al ejecutar mi codigo me arroja error. Te explico...

Tengo el siguiente codigo:

'Nos conectamos a la hoja de datos del Excel
Set db = Server.CreateObject("ADODB.Connection")
Dim DB_CONNECTIONSTRING
DB_CONNECTIONSTRING = "Driver={Microsoft Excel Driver (*.xls)};Dbq=" & attach & ";"

db.open DB_CONNECTIONSTRING

'Recordset correspondiente a un rango de datos
set rs = Server.CreateObject("ADODB.Recordset")
SQLStr = "SELECT * FROM [libro1$]"
rs.open SQLStr, DB_CONNECTIONSTRING

y al ejecutarlo, me arroja el siguiente error:

Microsoft OLE DB Provider for ODBC Drivers (0x80040E14)
[Microsoft][Controlador ODBC Excel] El motor de base de datos no puede encontrar 'libro1$'. Asegúrese de que es un alias o un parámetro válido, que no incluye caracteres o signos de puntuación no válidos y que el nombre no es demasiado largo.
/CartolaAPV/Apps/Script/MuestraForm.asp, line 29


La variable attach tiene el siguiente valor:

attach = D:\Users\Descargas\Codigos\Libro1.xls

Sabes cual podria ser el problema??

Gracias de antemano...
  #4 (permalink)  
Antiguo 02/11/2006, 12:37
Avatar de u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 22 años, 4 meses
Puntos: 98
El motor de base de datos no puede encontrar 'libro1$'.

"libro1" se refiere a la hoja de excel que quieras accesar en ese documento, el error te esta diciendo: "No existe ningun libro1".
__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway
  #5 (permalink)  
Antiguo 02/11/2006, 12:51
Avatar de Folken  
Fecha de Ingreso: noviembre-2006
Mensajes: 23
Antigüedad: 17 años, 6 meses
Puntos: 0
Podrias decirme como seria el codigo, si tengo un archivo llamado Libro1 y cada una de las hojas se llaman Hoja1, Hoja2, Hoja3 (nombres por defecto al crear el archivo), para que funcione??, o tb darme algun ejemplo de codigo para poder guiarme??. El archivo contiene datos numericos solo en la columna A, los cuales pueden variar su cantidad.

Agradecido de antemano...
  #6 (permalink)  
Antiguo 02/11/2006, 13:01
Avatar de Folken  
Fecha de Ingreso: noviembre-2006
Mensajes: 23
Antigüedad: 17 años, 6 meses
Puntos: 0
De acuerdo

Ahora me esta funcionando, pero queria aprovechar de preguntarte otra cosa..., La primera fila siempre la toma como nombre o titulo de la columna??, como puedo evitar esto??, es decir, si tengo un archivo xls, que solo tiene valores numericos desde la primera a la ultima columna (sin titulo de columna), como puedo evitar que me recupere un valor menos (el primero)...

Gracias de Antemano...

  #7 (permalink)  
Antiguo 02/11/2006, 13:23
Avatar de u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 22 años, 4 meses
Puntos: 98
Estimado amigo, no estoy seguro, pero siempre se puede recuperar el "nombre" de los campos del objeto recordset, por favor investigue acerca de la propiedad Fields del recordset.

Happy Programming
__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway
  #8 (permalink)  
Antiguo 02/11/2006, 13:43
Avatar de Folken  
Fecha de Ingreso: noviembre-2006
Mensajes: 23
Antigüedad: 17 años, 6 meses
Puntos: 0
OK, muchas gracias, me alludaste N. Voy a seguir investigando lo que me dices...

Gracias nuevamente...

  #9 (permalink)  
Antiguo 15/11/2006, 07:47
 
Fecha de Ingreso: enero-2005
Mensajes: 3
Antigüedad: 19 años, 3 meses
Puntos: 0
Hola les molesto ya que tengo el siguiente problema. Cuando ejecuto el codigo en el pws funciona correctamente, pero al querer ejecutarlo en el iis me tira error. y el server que yo poseo no tiene habilitado el "acceso a codigo fuente de secuencia de comandos".

como puedo solucionar este problema?

desde ya muchas gracias.-
  #10 (permalink)  
Antiguo 15/11/2006, 09:40
 
Fecha de Ingreso: noviembre-2004
Mensajes: 371
Antigüedad: 19 años, 6 meses
Puntos: 0
folken podrias mandar el codigo completo para saber como queda el codigo
  #11 (permalink)  
Antiguo 17/05/2009, 10:58
Avatar de lexus  
Fecha de Ingreso: enero-2002
Ubicación: Cali - Colombia
Mensajes: 2.234
Antigüedad: 22 años, 4 meses
Puntos: 4
Respuesta: Leer archivo Excel desde ASP

se ke no es bueno revivir post tan viejos pero parece ke aqui hubo una solucion podrian publicarla completa porfavor?
__________________
Control de Visitantes, Control de Accesos, Minutas digitales, Manejo de Correspondencia
http://www.controldevisitantes.com
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 05:40.