ASP - leer excel

 
Vista:

leer excel

Publicado por loreto (2 intervenciones) el 01/03/2006 19:06:08
Hola!
Tengo un problema, necesito leer la prima linea de miles de archivos excel, vi un articulo donde lo explican pero no me resulta por que no puedo asignar un nombre a un rango de celdas para cada archivo. Puedo leer un excel sin tener que asignar esta rango?
Proponen eso, pero no funciona!!

'Se abre el recordset, señalando como tabla el rango de celdas Excel llamado Feriado.
rsVac.Open "Select * From A1:G6 order by Oficina, Nombre", ConexionBD,3,3

Aparece ese error:
Tipo de error:
ADODB.Recordset (0x800A0BCD)
El valor de BOF o EOF es True, o el actual registro se eliminó; la operación solicitada requiere un registro actual.
/loreto/consultarXLS.asp, línea 31

POR FIS AYUDA!!

SOY COMPLETAMENTE NUEVA EN ASP ! puede que la solucion sea obvia pero no lo se!!

Gracias

Loreto
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:leer excel

Publicado por Santos Pairazamán (415 intervenciones) el 02/03/2006 14:56:12
Aqui tienes el ejm Completo :
Cambia el nombre del archivo Ejercicio1.xls por el tuyo

Hasta Pronto.

<html>
<head>
<title>Consultar Hoja Excel</title>
</head>

<%
'Asigna a la variable Path, la ruta del archivo *.xls
Path=Server.MapPath("Ejercicio1.xls")

'Establece una conexión entre el servidor asp y una base de datos
Set ConexionBD = Server.CreateObject("ADODB.Connection")

'Abrimos el objeto con el driver específico para Microsoft Excel
ConexionBD.Open "DRIVER={Microsoft Excel Driver (*.xls)};DBQ=" & Path

'Crea un objeto de tipo recordset para retornar la consulta sql
Set rsVac = Server.CreateObject("ADODB.Recordset")

'Se abre el recordset, señalando como tabla el rango de celdas Excel llamado Feriado.
'Este nombre de rango se debe definir en MSExcel
'(>Insertar>Nombre>Definir...).

rsVac.Open "Select * From feriado order by apellidos, nombres",ConexionBD,3,3
%>

<body>
<h2><b><center>CONSULTA DE VACACIONES</center></b></h2>
<hr>
<table border=1 align="center">

<%
'Nos posicionamos al principio del recordset, por cualquier cosa
rsVac.MoveFirst

'Y por fin comenzamos a escribir la tabla de resultados
'Primero los nombres de las columnas (el encabezado de la tabla)
Response.Write "<th>" & rsVac.Fields.Item(0).Name & "</th>" & vbCrLf
Response.Write "<th>" & rsVac.Fields.Item(1).Name & "</th>" & vbCrLf
Response.Write "<th>" & rsVac.Fields.Item(2).Name & "</th>" & vbCrLf

'Y por último, el cuerpo de los datos
Do While Not rsVac.EOF
Response.Write "<tr>" & vbCrLf
Response.write "<td>" & rsVac(0) & "</td>"
Response.write "<td>" & rsVac(1) & "</td>"
Response.write "<td>" & rsVac(2) & "</td>"
Response.Write "</tr>" & vbCrLf
rsVac.MoveNext
Loop
Response.Write "</table>"

'Se cierra y se destruye el objeto recordset
rsVac.Close
Set rsVac = Nothing

'Se cierra y se destruye el objeto connection
ConexionBD.Close
Set ConexionBD = Nothing

%>
</body>
</html>
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:leer excel

Publicado por loreto (2 intervenciones) el 02/03/2006 21:40:45
gracias,
pero ese ejemplo NO me sirve por que quiero que el archivo se lea automaticamente al recorrer un directorio, tengo 3000 archivos y quiero leer la 1 fila de cada uno, entonces no puedo crear un rango de celdas para cada uno.

Hay alguna forma de hacerlo sin tener que crear el rango de celdas?

gracias de todas formas
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:leer excel

Publicado por Marco Jonathan (1 intervención) el 20/01/2012 20:46:46
solo cambia esta parte
Select * From feriado order by apellidos, nombres

por:
select * from [Hoja1$]
donde hoja1 es el nombre de tu hoja de excel

intentalo y me dices como te funciono
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar