Problemas con ASP y excel

07/02/2008 - 03:05 por Erika H. | Informe spam
Hola que tal buenas noches espero me puedan ayudar tengo un problema con ASP
y excel, estoy trantando de mostrar un archivo de excel en asp, pero no he
podido pasar de la conexion al archivo, me sale el error:
Microsoft OLE DB Provider for ODBC Drivers error '80040e21'
ODBC driver does not support the requested properties.
/intranet/Excelprueba.asp, line 31

Este error es al tratar de consultar la tabla, este es el codigo que tengo:
<%
'Asigna a la variable Path, la ruta del archivo *.xls
Path= Server.MapPath("Programa Produccion\Programa.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")
Set ConexionRBD = Server.CreateObject("ADODB.Recordset")

'Abrimos el objeto con el driver específico para Microsoft Excel
' ConexionBD.Open("Provider=Microsoft.Jet.OLEDB.4.0;Data Source="&
Server.MapPath("Programa Produccion\Ejemplo1.xls")&";Extended
Properties=""Excel 8.0;HDR=Yes;IMEX=1""")
ConexionBD.Open "Provider = MSDASQL;DRIVER={Microsoft Excel Driver
(*.xls)};DBQ=" & Path
'ConexionDB.Open Provider = MSDASQL; ConnectionString = "Driver={Microsoft
Excel Driver (*.xls)};" & "DBQ=D:\inetpub\wwwroot\intranet\Programa
Produccion\Ejemplo1.xls; ReadOnly=False;" Open


'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 Hoja1 order by datos", ConexionBD,3,3
'rsVac.Open "Select * From Feriado order by Oficina, Nombre", 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(6).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(6) & "</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

He intentado hacer la conexion de varias formas y me marca error, alguien me
puede decir que estoy haciendo mal.

Muchas gracias
 

Leer las respuestas

#1 ¥-- Lombar --¥
07/02/2008 - 08:52 | Informe spam
http://www.connectionstrings.com/?carrier=excel

Hay te da la conexión y todos su parámetros


¥-- Lombar --¥
Jose Lombardia

Visita mi blog:
Comer y Rodar
www.lombar.com

"Erika H." escribió en el mensaje de
noticias news:
Hola que tal buenas noches espero me puedan ayudar tengo un problema con
ASP
y excel, estoy trantando de mostrar un archivo de excel en asp, pero no he
podido pasar de la conexion al archivo, me sale el error:
Microsoft OLE DB Provider for ODBC Drivers error '80040e21'
ODBC driver does not support the requested properties.
/intranet/Excelprueba.asp, line 31

Este error es al tratar de consultar la tabla, este es el codigo que
tengo:
<%
'Asigna a la variable Path, la ruta del archivo *.xls
Path= Server.MapPath("Programa Produccion\Programa.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")
Set ConexionRBD = Server.CreateObject("ADODB.Recordset")

'Abrimos el objeto con el driver específico para Microsoft Excel
' ConexionBD.Open("Provider=Microsoft.Jet.OLEDB.4.0;Data Source="&
Server.MapPath("Programa Produccion\Ejemplo1.xls")&";Extended
Properties=""Excel 8.0;HDR=Yes;IMEX=1""")
ConexionBD.Open "Provider = MSDASQL;DRIVER={Microsoft Excel Driver
(*.xls)};DBQ=" & Path
'ConexionDB.Open Provider = MSDASQL; ConnectionString = "Driver={Microsoft
Excel Driver (*.xls)};" & "DBQ=D:\inetpub\wwwroot\intranet\Programa
Produccion\Ejemplo1.xls; ReadOnly=False;" Open


'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 Hoja1 order by datos", ConexionBD,3,3
'rsVac.Open "Select * From Feriado order by Oficina, Nombre",
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(6).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(6) & "</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

He intentado hacer la conexion de varias formas y me marca error, alguien
me
puede decir que estoy haciendo mal.

Muchas gracias

Preguntas similares