Ir al contenido

Leer de un Excel con ASP

Desde una aplicación ASP podemos acceder a una hoja de cálculo de Excel para leer su contenido. Para ello utilizaremos ADO (ActiveX Data Objects), igual que cuando consultamos una base de datos de Access.

Primero debemos asignar un nombre al rango de celdas que queremos consultar. En Excel, seleccionamos los registros y usamos la opción Insertar > Nombre > Definir. En este ejemplo, el rango se llamará Alumnos y funcionará como un RecordSet.

Creamos una conexión ADODB.Connection mediante Server.CreateObject. En la cadena de conexión indicamos el fichero Libro1.xls, cuya ruta física obtenemos con Server.MapPath, y utilizamos el controlador de Microsoft Excel:

Set conexion = Server.CreateObject("ADODB.Connection")
conexion.Open "DBQ=" & Server.MapPath("Libro1.xls") _
& ";DRIVER={Microsoft Excel Driver (*.xls)};"

El rango Alumnos puede consultarse como si fuera una tabla. Creamos el RecordSet ejecutando una sentencia SELECT:

Set rs = conexion.Execute("SELECT * FROM [Alumnos]")

A partir de ese momento podemos utilizar propiedades y métodos como EOF, BOF, MoveNext y MovePrevious.

La colección Fields contiene las columnas del RecordSet. Con Fields.Count obtenemos su número y recorremos cada fila hasta alcanzar EOF:

Dim columnas
columnas = rs.Fields.Count
Do While Not rs.EOF
For i = 0 To columnas - 1
Response.Write rs.Fields.Item(i).Value
Next
rs.MoveNext
Loop

Es importante ejecutar rs.MoveNext al final de cada iteración para avanzar a la siguiente fila y evitar un bucle infinito.

Cada elemento de Fields expone Value, con el contenido de la celda, y Name, con el nombre de la columna:

Response.Write rs.Fields.Item(i).Value
Response.Write rs.Fields.Item(i).Name

Finalmente, cerramos el RecordSet y la conexión para liberar los recursos:

rs.Close
Set rs = Nothing
conexion.Close
Set conexion = Nothing
Foto de Víctor Cuervo

Víctor Cuervo

Programador, Arquitecto IT, álter ego de Línea de Código, amante de las tecnologías, generador de conocimiento y facilitador del aprendizaje.

Descarga el código de Leer de un Excel con ASP

Descubre cómo leer un Excel con ASP usando ADO, conecta y recorre datos fácilmente. Aprende paso a paso y optimiza tu web con este método rápido y fiable.

Descargar código