Cómo utilizar gráficos para generar gráficos dinámicamente en el servidor

IMPORTANTE: Este artículo ha sido traducido por un software de traducción automática de Microsoft (http://support.microsoft.com/gp/mtdetails) en lugar de un traductor humano. Microsoft le ofrece artículos traducidos por un traductor humano y artículos traducidos automáticamente para que tenga acceso en su propio idioma a todos los artículos de nuestra base de conocimientos (Knowledge Base). Sin embargo, los artículos traducidos automáticamente pueden contener errores en el vocabulario, la sintaxis o la gramática, como los que un extranjero podría cometer al hablar el idioma. Microsoft no se hace responsable de cualquier imprecisión, error o daño ocasionado por una mala traducción del contenido o como consecuencia de su utilización por nuestros clientes. Microsoft suele actualizar el software de traducción frecuentemente.

Haga clic aquí para ver el artículo original (en inglés): 244049
Resumen
Junto con el componente Web de Microsoft Office Chart se utiliza como un control de modelo de objetos componentes (COM) alojado en un formulario, es posible utilizar el componente de gráfico Web como un objeto que no sea visible, en memoria. Este artículo muestra 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 descrita en este artículo para generar imágenes de gráfico que pueden utilizarse a través de Internet o en las empresas con escritorios de cliente heterogéneos.
Más información
Con el componente Web Chart, puede crear gráficos con datos de orígenes diversos, tales como matrices, una base de datos, hojas de cálculo o los orígenes de datos personalizados. Una vez crear un gráfico, puede utilizar el ExportPicture método del componente Chart para generar una imagen JPEG de ese gráfico.

Para ello, puede modificar el archivo global.asa y crear una página ASP con el código que se ilustra en los pasos siguientes.

Pasos para crear proyectos

  1. Inicie Microsoft Visual InterDev.
  2. Crear un proyecto Web nuevo denominado ServerChart y haga clic en el botón siguiente .
  3. Tipo en el servidor que se utiliza para este Web Project.
  4. Haga clic en Finalizar para crear el proyecto Web.
  5. Haga clic con el botón secundario del mouse el directorio del proyecto en el servidor (normalmente es C:\Inetpub\wwwroot\ServerChart), seleccione Propiedades y haga clic en la ficha seguridad .
  6. Haga clic en permisos y agregar los permisos de directorio siguiente:
    IUSR_SERVERNAME: Lectura, escritura, ejecución y eliminar
    Autor: Lectura, escritura, ejecución y eliminar
  7. Haga clic en Aceptar para establecer los permisos.
  8. En el proyecto de Visual InterDev, haga clic con el botón secundario en el archivo global.asa y seleccione Obtener copia de trabajo .
  9. Modificar el archivo global.asa para contener la siguiente secuencia de comandos:
    <SCRIPT LANGUAGE=VBScript RUNAT=Server>Sub Session_OnStart	' Create a FileSystemObject to provide files in the script	Set Session("FSO") = CreateObject("Scripting.FileSystemObject")		' Create a variable that has the number of files created in this session	Session("n") = 0		' Set timeout to be 1 minute	Session.Timeout = 1End SubSub Session_OnEnd	' Delete the files created in this session	Dim x	For x = 0 to Session("n")-1		Session("FSO").DeleteFile Session("sTempFile" & x), True	NextEnd Sub</SCRIPT>
  10. Haga clic en el menú proyecto , seleccione Agregar elemento Web y, a continuación, seleccione Páginas Active Server . Nombre de la página chart.asp .
  11. Modificar la secuencia de comandos en chart.asp contener 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 5	Categories(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 con el botón secundario en chart.asp en el Explorador de proyectos y seleccione Ver en explorador.
Aparecerá la página con un gráfico que contiene el uso de CPU para varios equipos. Seleccionando las distintas organizaciones, puede ver diferentes usos.

Cuando crea varios gráficos basados en distintos conjuntos de datos, debe guardar cada gráfico como un único archivo GIF. En este ejemplo, FileSystemObject de biblioteca de automatización Run-time genera un archivo temporal de la imagen GIF. El archivo se coloca en la misma carpeta que la página ASP, de modo que puede utilizar el método MapPath del objeto Session para obtener la ubicación del archivo temporal. El nombre de archivo se guarda como una variable de sesión para que se elimina cuando termina la sesión.

Tenga en cuenta que IIS se ejecuta la subrutina Session_OnEnd siempre que se ha agotado la sesión. La sesión se agote si el cliente no ha solicitado una página dentro de la duración de tiempo de espera, que se establece en uno (1) minuto al principio de la sesión.

Notas adicionales

Actualmente, el filtro sólo disponible para el método ExportPicture es para las 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 alto y ancho son modificable. En su lugar, puede utilizar dimensiones que especifica el cliente.

El OWC.Chart ProgID se aplica a Office Web Components 9.0. Si desea utilizar la versión 10 de los componentes, cambiar el ProgID de OWC.Chart a OWC10.ChartSpace o si desea utilizar la versión 11 de los componentes, cambiar el ProgID de OWC.Chart a OWC11.ChartSpace.

Problemas con el uso de servidor

Debe tener en cuenta que Office 2000 Web Components no están diseñados para uso del lado del servidor, y puede experimentar 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 el Office Web Components y Office 2003 Web Components, y debe considerar con el Office Web Components 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 ver el artículo en Microsoft Knowledge Base:
317316INFORMACIÓN: Limitaciones de Office 2000 Web Components al uso de servidor
Referencias
Programación de Microsoft Office Web Components por Dave Stearns ISBN: 0-7356-0794-X

Para obtener información adicional acerca del uso el gráfico de componente Web, consulte los artículos siguientes de Knowledge Base:
240263Cómo crear un gráfico de combinación con el componente de gráfico Web
235885Cómo utilizar el componente Web de Chart de Office con VB
243192Cómo utilizar VBScript para enlazar un gráfico a un componente de hoja de cálculo
en tiempo real de OWC

Advertencia: este artículo se tradujo automáticamente

Propiedades

Id. de artículo: 244049 - Última revisión: 02/22/2007 01:27:26 - Revisión: 3.5

Microsoft Office 2003 Web Components, Microsoft Office XP Web Components, Microsoft Office Chart Component 9.0

  • kbmt kbhowto kbofficewebchart KB244049 KbMtes
Comentarios