Construir Gráficos con Excel...
Tengo la idea de como construir unos gráficos de excel en páginas web, pero no me funcionan, y lo he hecho como estaba en el ejemplo, les pongo la página que genera el gráfico, para que lo revicen, si alguien tiene, una sugerencia o idea también la acepto.
Aquí va el código de la página asp:
<html>
<head>
<title>Untitled</title>
</head>
<body>
<%
'Asigna a la variable Path, la ruta del archivo *.xls
Dim rs, especialidades(7), estudiantes(7), doc(7)
Path = Server.MapPath("Estadisticas.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 rs = Server.CreateObject("ADODB.Recordset")
rs.Open "Select * From A2:C8", ConexionBD
rs.MoveFirst
I=1
While Not rs.EOF
especialidades(I) = rs.Fields(0).Value
estudiantes(I) = CInt(rs.Fields(1).Value)
If I=1 then
UM = estudiantes(I)
else
If estudiantes(I) > UM Then UM = estudiantes(I)
end if
doc(I) = CInt(rs.Fields(2).Value)
Response.Write doc(I)
rs.MoveNext
I=I+1
Wend
rs.Close
Set rs = Nothing
ConexionBD.Close
Set ConexionBD = Nothing
%>
<object id=ChartSpace1 classid=CLSID:0002E500-0000-0000-C000-000000000046 style="width:80%;height:350"></object>
<script language=vbs>
ChartSpace1. Clear
ChartSpace1. Charts. Add
Set c = ChartSpace1.Constants
ChartSpace1. Charts(0). SeriesCollection. Add
ChartSpace1. Charts(0). SeriesCollection. Add
'Set the series categories and values using the strings created from the recordset.
ChartSpace1.Charts(0).SeriesCollection(0).Caption = "Estudiantes"
ChartSpace1. Charts(0). SeriesCollection(0). SetData c.chDimCategories, c.chDataLiteral, especialidades
ChartSpace1. Charts(0). SeriesCollection(0). SetData c.chDimValues, c.chDataLiteral, estudiantes
ChartSpace1. Refresh
ChartSpace1.Charts(0).SeriesCollection(1).Caption = "Documentos"
ChartSpace1. Charts(0). SeriesCollection(1). SetData c.chDimCategories, c.chDataLiteral, especialidades
ChartSpace1. Charts(0). SeriesCollection(1). SetData c.chDimValues, c.chDataLiteral, doc
ChartSpace1. Refresh
Set axisScale = ChartSpace1.Charts(0).Axes(c.chAxisPositionLeft).Scaling
If axisScale.HasAutoMaximum Then axisScale.Maximum = UM
ChartSpace1.Charts(0).Type = c.chChartTypeSmoothLine
ChartSpace1.Refresh
ChartSpace1.Charts(0).HasLegend = True
ChartSpace1.Charts(0).HasLegend = True
ChartSpace1.Charts(0).Legend.Font.Name = "times new roman"
ChartSpace1.Charts(0).Legend.Position = c.chLegendPositionBottom
ChartSpace1.HasChartSpaceTitle = True
ChartSpace1.ChartSpaceTitle.Caption = "Cantidad de Estudiantes por documentos"
ChartSpace1.Refresh
</script>
</body>
</html>
Aquí va el código de la página asp:
<html>
<head>
<title>Untitled</title>
</head>
<body>
<%
'Asigna a la variable Path, la ruta del archivo *.xls
Dim rs, especialidades(7), estudiantes(7), doc(7)
Path = Server.MapPath("Estadisticas.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 rs = Server.CreateObject("ADODB.Recordset")
rs.Open "Select * From A2:C8", ConexionBD
rs.MoveFirst
I=1
While Not rs.EOF
especialidades(I) = rs.Fields(0).Value
estudiantes(I) = CInt(rs.Fields(1).Value)
If I=1 then
UM = estudiantes(I)
else
If estudiantes(I) > UM Then UM = estudiantes(I)
end if
doc(I) = CInt(rs.Fields(2).Value)
Response.Write doc(I)
rs.MoveNext
I=I+1
Wend
rs.Close
Set rs = Nothing
ConexionBD.Close
Set ConexionBD = Nothing
%>
<object id=ChartSpace1 classid=CLSID:0002E500-0000-0000-C000-000000000046 style="width:80%;height:350"></object>
<script language=vbs>
ChartSpace1. Clear
ChartSpace1. Charts. Add
Set c = ChartSpace1.Constants
ChartSpace1. Charts(0). SeriesCollection. Add
ChartSpace1. Charts(0). SeriesCollection. Add
'Set the series categories and values using the strings created from the recordset.
ChartSpace1.Charts(0).SeriesCollection(0).Caption = "Estudiantes"
ChartSpace1. Charts(0). SeriesCollection(0). SetData c.chDimCategories, c.chDataLiteral, especialidades
ChartSpace1. Charts(0). SeriesCollection(0). SetData c.chDimValues, c.chDataLiteral, estudiantes
ChartSpace1. Refresh
ChartSpace1.Charts(0).SeriesCollection(1).Caption = "Documentos"
ChartSpace1. Charts(0). SeriesCollection(1). SetData c.chDimCategories, c.chDataLiteral, especialidades
ChartSpace1. Charts(0). SeriesCollection(1). SetData c.chDimValues, c.chDataLiteral, doc
ChartSpace1. Refresh
Set axisScale = ChartSpace1.Charts(0).Axes(c.chAxisPositionLeft).Scaling
If axisScale.HasAutoMaximum Then axisScale.Maximum = UM
ChartSpace1.Charts(0).Type = c.chChartTypeSmoothLine
ChartSpace1.Refresh
ChartSpace1.Charts(0).HasLegend = True
ChartSpace1.Charts(0).HasLegend = True
ChartSpace1.Charts(0).Legend.Font.Name = "times new roman"
ChartSpace1.Charts(0).Legend.Position = c.chLegendPositionBottom
ChartSpace1.HasChartSpaceTitle = True
ChartSpace1.ChartSpaceTitle.Caption = "Cantidad de Estudiantes por documentos"
ChartSpace1.Refresh
</script>
</body>
</html>
1 Respuesta
Respuesta de paulita
-1