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

Ayuda maestros !!!!!!!

Estas en el tema de Ayuda maestros !!!!!!! en el foro de ASP Clásico en Foros del Web. Por favor no se como cargar datos en una hoja excel conectado a una base de datos en sql y mostarlo en una pagina ASP ...
  #1 (permalink)  
Antiguo 07/05/2002, 09:00
 
Fecha de Ingreso: abril-2002
Mensajes: 38
Antigüedad: 23 años, 1 mes
Puntos: 0
Ayuda maestros !!!!!!!

Por favor no se como cargar datos en una hoja excel conectado a una base de datos en sql y mostarlo en una pagina ASP
Por favor cualquier sugerencia se los agradecere mucho ....
tengo solo 2 horas para terminarlo

Gracias
  #2 (permalink)  
Antiguo 08/05/2002, 03:52
 
Fecha de Ingreso: agosto-2001
Mensajes: 336
Antigüedad: 23 años, 8 meses
Puntos: 0
Re: Ayuda maestros !!!!!!!

Ago asi:

Consultar documentos Excel
Aunque no lo crean, realizar una consulta de datos contenidos en documentos Excel, es muy similar a consultar datos contenidos en otro tipo de bases de datos (por ejemplo, Access). Comencemos analizando el código que nos permitirá acceder a los datos.

'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.
rsVac.Open "Select * From Feriado order by Oficina, Nombre", ConexionBD,3,3

Como pueden observar, básicamente el código es el mismo que utilizamos para conectarnos con Access. Las principales diferencias son dos:

Para abrir la conexión con la base de datos utilizamos el Driver específico para Microsoft Excel.


Al abrir el recordset, en la sentencia SQL hacemos referencia al nombre de un rango de celdas de Excel, en vez de referirnos a una tabla específica de Access. Para asignar un nombre a un rango de celdas, en MSExcel debemos seleccionar el menú Insertar, la opción Nombre y la subopción Definir. Luego, asignamos el nombre Feriado al rango y por último, en la casilla "Se refiere a:" seleccionamos el rango =FERIADO!$A$1:$G$6. Ahora, si este procedimiento no nos parece muy claro, podemos reemplazar el nombre Feriado de la consulta SQL por el rango a utilizar. En nuestro ejemplo, nos quedaría así:

'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

Una vez que hemos creado el objeto
  #3 (permalink)  
Antiguo 08/05/2002, 03:53
 
Fecha de Ingreso: agosto-2001
Mensajes: 336
Antigüedad: 23 años, 8 meses
Puntos: 0
Re: Ayuda maestros !!!!!!!

, no nos queda más que comenzar a utilizarlo exactamente igual que si se tratara de datos Access. Por ejemplo, para mostrar en una tabla el contenido de algunos campos del recordset, bastaría que utilizáramos el siguiente código:

'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

El resultado de una consulta de este tipo, se vería más o menos, de la siguiente manera:

Oficina Nombre Total
1 Martín Salas Oyarzo 50
1 Rodrigo Rohland Mayorga 37
12 Carlos de la Orden Dijs 15
12 Claudio González López 26
12 Mario Contreras Espinoza 18



Un salud ;)
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 11:58.