aulambra.com - Tecnologias de Internet
 
 

Lista de Correo

Para suscribirte a la lista de correo dejanos tu e-mail y preferencias en tecnologías.

Seguir >>

Valid HTML 4.01!
Valid CSS!

Web 2.0

Guardar... Compartir...
EMAIL: PASSWORD:
Darme de alta como usuario | Se me ha olvidado la contraseña

volverserverpages/asp/asp/Leer Excel

Leer datos de una Hoja Excel

Desde nuestra aplicación ASP vamos a poder acceder a una hoja Excel para leer su contenido.

Para realizar el acceso a la hoja de Excel vamos a utilizar el modelo de acceso a datos ADO (Access Data Objet), de igual forma que si estubieramos realizando una consulta sobre una base de datos Access.

Para ello lo primero que hay que hacer es dar un nombre al rango de registros que queremos mostrar en nuestra aplicación. Seleccionamos los registros a mostrar:

En el menú "Insertar – Nombre – Definir …". Damos un nombre a nuestro rango de datos. Estamos simulando la creación de un RecordSet del modelo ADO.

En nuestro caso le damos el nombre "Alumnos" al rango de datos.

Para conectarnos a la hoja Excel deberemos de indicarle a la aplicación en la conexión que el DRIVER de acceso es el de Microsoft Excel y no el de Microsoft Access, el que utilizamos para las bases de datos.

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

A partir de este momento accederemos al rango de datos "Alumnos" como si fuese una tabla de una base de datos. Es decir, que tendremos los métodos MoveNext, MovePrevious, EOF, BOF,…..

Un pequeño problema es que nuestras columnas no tienen un nombre, como sucede en las bases de datos. Es por ello que no podremos poner rs("alumno"), sino que tendremos que ir columna por columna.

Para recorrer todas las columnas y mostrar sus valores

Dim columnas
columnas = rs.Fields.Count


Do While Not rstExcel.EOF


  For I=0 to columnas - 1
		Response.Write rs.Fields.Item(I).Value
	Next I

Loop

Otra cosa que tenemos que tener en cuenta es el tipo de celda que tenemos. Si es una celda con un texto, lo que deberemos de mostrar de dicho campo es su nombre (name), mientras que si lo que queremos es mostrar su valor deberemos de usar value.

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

arriba


"Muchas veces me moria pensando que no iba verte.
Pero moria la muerte cada vez que te veia". E.Galeano.


© Copyright 2001-2006. Víctor Cuervo
aulambra.com | Linea de Codigo