Resumen

Además de utilizar el componente Web de Microsoft Office Chart como un control de modelo de objetos componentes (COM) hospedado en un formulario, es posible utilizar el componente Web de gráfico como un objeto en memoria no visibles. Este artículo ilustra cómo puede utilizar el componente Chart de Web en un servidor para crear un gráfico representado como una imagen de formato de intercambio de gráficos (GIF). Puede implementar la estrategia que se discute en este artículo para generar las imágenes del gráfico que se pueden utilizar a través de Internet o en empresas con escritorios de clientes heterogénea.

Más información

Con el componente Web Chart, puede crear gráficos utilizando los datos de varios orígenes, tales como matrices, una base de datos, hojas de cálculo o cualquier origen de datos personalizado. Una vez que se crea un gráfico, puede utilizar el método ExportPicture del componente Chart para generar una imagen GIF de ese gráfico.Para ello, puede modificar el archivo global.asa y crear una página ASP con el código que se muestra en los siguientes pasos.

Pasos para crear el proyecto

  1. Inicie Microsoft Visual InterDev.

  2. Cree un proyecto Web nuevo denominadoServerChart y haga clic en el botón siguiente .

  3. Escriba en el servidor que se utiliza para este proyecto Web.

  4. Haga clic en Finalizar para crear el proyecto Web.

  5. (Ratón) en el directorio del proyecto en el servidor (normalmente es C:\Inetpub\wwwroot\ServerChart), seleccione Propiedades y, a continuación, haga clic en la ficha seguridad .

  6. Haga clic en permisosy agregar los permisos de directorio siguientes:

    IUSR_nombreDeServidor: Lectura, escritura, ejecución y eliminarCreador: Leer, escribir, ejecutar y eliminar

  7. Haga clic en Aceptar para establecer los permisos.

  8. En el proyecto de Visual InterDev, haga clic en el archivo global.asa y seleccione Obtener copia de trabajo.

  9. Modifique el archivo global.asa para contener la secuencia de comandos siguiente:

    <SCRIPT LANGUAGE=VBScript RUNAT=Server>Sub Session_OnStart' Create a FileSystemObject to provide files in the scriptSet Session("FSO") = CreateObject("Scripting.FileSystemObject")' Create a variable that has the number of files created in this sessionSession("n") = 0' Set timeout to be 1 minuteSession.Timeout = 1End SubSub Session_OnEnd' Delete the files created in this sessionDim xFor x = 0 to Session("n")-1Session("FSO").DeleteFile Session("sTempFile" & x), TrueNextEnd Sub</SCRIPT>
  10. Haga clic en el menú proyecto , seleccione Agregar elemento Weby, a continuación, seleccione Páginas Active Server. Nombre de la página chart.asp.

  11. Modifique el script en chart.asp contenga lo siguiente:

    <%@ language="vbscript" %><html><body><h1>Realtime CPU Utilization by Configurations</h1><FORM action="chart.asp" method=get name=frmChooseOrg><p> Select an Organization to see values for their machines: <SELECT name=sOrg><OPTION SELECTED value= 5>Org1</OPTION><OPTION value= 10>Org2</OPTION><OPTION value= 15>Org3</OPTION><OPTION value= 20>Org4</OPTION></SELECT><INPUT type="submit" value="Go"></p></FORM><%Dim oChart, c, Categories(5), Vals(5), i, sCaption, nData, nOrg' Get the input valuenData = Request.QueryString("sOrg")'When the page loads the first time, set ndata to 5if len(nData) = 0 then nData = 5' Generate random categories and values for the chart' These values can come from some existing data sourcefor i = 1 to 5Categories(i) = "Machine" & CStr(i)Vals(i) = nData * Rnd(100)next' Create a Chart ObjectSet oChart = CreateObject("OWC.Chart")Set c = oChart.Constants' Set the different parameters for the ChartSpaceoChart.Border.Color = c.chColorNone' Get Organization number and use it to set the CaptionnOrg = nData/5sCaption = "Current Utilizations for Org"sCaption = sCaption & CStr(nOrg)' Add a chart and set parameters for the chartoChart.Charts.AddoChart.Charts(0).Type = oChart.Constants.chChartTypeColumnClusteredoChart.Charts(0).SeriesCollection.AddoChart.Charts(0).SeriesCollection(0).Caption = sCaptionoChart.Charts(0).SeriesCollection(0).SetData c.chDimCategories, c.chDataLiteral, CategoriesoChart.Charts(0).SeriesCollection(0).SetData c.chDimValues, c.chDataLiteral, ValsoChart.Charts(0).HasLegend = TrueoChart.Charts(0).HasTitle = True' Get a temporary filename to save chart in that filesFname = Session("FSO").GetTempName & session.SessionID & ".gif"' Export the chart to the temporary fileoChart.ExportPicture server.MapPath(sFname), "gif", 600, 512' Create a link to the generated fileResponse.Write "<img src='" & sFname & "'>"' Store the file with its path in the session object for cleanupSession("sTempFile" & Session("n")) = Server.MapPath(sFname)' Increment the number of filesSession("n") = Session("n") + 1%></body></html>
  12. Guarde el proyecto.

  13. Haga clic en chart.asp en el Explorador de proyectos y seleccione Ver en el explorador.

Aparecerá la página con un gráfico que contenga la utilización de CPU para varios equipos. Seleccionando diferentes organizaciones, puede ver los diferentes usos.Al crear varios gráficos basados en distintos conjuntos de datos, cada tabla debe guardarse como un único archivo GIF. En este ejemplo, FileSystemObject de la biblioteca de tiempo de ejecución de secuencias de comandos genera un archivo temporal para la imagen GIF. El archivo se coloca en la misma carpeta que la página ASP, por lo que se puede utilizar el método MapPath del objeto Session para obtener la ubicación del archivo temporal. El nombre del archivo se guarda como una variable de sesión, por lo que se elimina cuando la sesión termina.Tenga en cuenta que IIS se ejecuta la subrutina Session_OnEnd siempre que la sesión ha caducado. Finaliza la sesión si el cliente no ha solicitado una página dentro de la duración del tiempo de espera, que se establece en uno (1) minuto al principio de la sesión.

Notas adicionales

Actualmente, el único filtro disponible para el método ExportPicture es imágenes "GIF".El método ExportPicture tiene dos argumentos que permiten indicar las dimensiones en píxeles del gráfico generado. En el código de ejemplo proporcionado, las dimensiones de ancho y alto son modificables. En su lugar, puede utilizar dimensiones que especifica el cliente.OWC. ProgID del gráfico se aplica a Office Web Components 9.0. Si desea utilizar la versión 10 de los componentes, cambiar el ProgID de OWC. Gráfico a OWC10. ChartSpace o si desea utilizar la versión 11 de los componentes, cambiar el ProgID de OWC. Gráfico OWC11. ChartSpace.

Problemas con el uso del servidor

Debe tener en cuenta que Office 2000 Web Components no están diseñados para uso del servidor, y puede encontrar problemas si utiliza los componentes en un servidor con un gran número de conexiones de usuario simultáneas. Muchos de estos problema se tratan en los componentes Web de Office XP y Office 2003 Web Components y debería considerar el uso de los componentes Web de Office XP o Office 2003 Web Components para soluciones de servidor a gran escala.Para obtener información adicional, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:

INFO: limitaciones de los componentes de Office 2000 Web cuando utilizan Server-Side

Referencias

Programación de Microsoft Office Web Components por Dave Stearns ISBN: 0-7356-0794-XPara obtener información adicional acerca de cómo utilizar el componente Chart de Web, consulte los siguientes artículos de Knowledge Base:

cómo crear un gráfico de combinación con el componente de gráfico Web

cómo utilizar el componente Web de Chart de Office con VB

cómo utilizar VBScript para enlazar un gráfico a un componente de hoja de cálculo

¿Necesita más ayuda?

¿Quiere más opciones?

Explore las ventajas de las suscripciones, examine los cursos de aprendizaje, aprenda a proteger su dispositivo y mucho más.

Las comunidades le ayudan a formular y responder preguntas, enviar comentarios y leer a expertos con conocimientos extensos.