Sumário

Para além de utilizar o componente Web do Microsoft Office gráfico como um controlo de serviços de informação Internet (COM, Component Object Model) alojado num formulário, é possível utilizar o componente Web do gráfico como um objecto não visível, na memória. Este artigo ilustra como pode utilizar o componente de gráfico de Web num servidor para criar um gráfico representado como uma imagem de Graphics Interchange Format (GIF). Pode implementar a estratégia discutida neste artigo para criar imagens de gráficos que podem ser utilizadas através da Internet ou em empresas com computadores pessoais cliente heterogéneos.

Mais informações

Com o componente Web do gráfico, pode criar gráficos utilizando dados de várias origens, tais como matrizes, uma bases de dados, folhas de cálculo ou quaisquer origens de dados personalizados. Depois de criar um gráfico, pode utilizar o método ExportPicture do componente de gráfico para gerar uma imagem GIF desse gráfico.Para efectuar este procedimento, pode modificar o ficheiro global. asa e criar uma página ASP com o código ilustrado nos passos seguintes.

Passos para criar o projecto

  1. Inicie o Microsoft Visual InterDev.

  2. Criar um novo projecto de Web chamadoServerChart e clique no botão seguinte .

  3. Escreva o servidor que está a ser utilizado para este projecto da Web.

  4. Clique em Concluir para criar o projecto da Web.

  5. Com o botão direito do directório de projecto no servidor (normalmente, este é C:\Inetpub\wwwroot\ServerChart), seleccione Propriedades e, em seguida, clique no separador segurança .

  6. Clique em permissõese adicione as seguintes permissões de directório:

    IUSR_SERVERNAME: Ler, escrever, executar e eliminarAutor: Ler, escrever, executar e eliminar

  7. Clique em ' OK ' para definir as permissões.

  8. Num projecto do Visual InterDev, com o botão direito no ficheiro global. asa e seleccione Obter cópia do trabalho.

  9. Modificar o ficheiro global. asa para conter o seguinte script:

    <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. Clique no menu projecto , seleccione Adicionar Item da Webe, em seguida, seleccione o Active Server Page. Nome da página chart.asp.

  11. Modificar o script no chart.asp para conter os seguintes elementos:

    <%@ 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 o projecto.

  13. Chart.asp no Explorador de projecto com o botão direito e seleccione a vista no browser.

A página aparece com um gráfico que contém as utilizações do CPU para vários computadores. Ao seleccionar diferentes organizações, pode ver as diferentes utilizações.Quando criar vários gráficos baseados em diferentes conjuntos de dados, cada gráfico tem de ser guardado como um ficheiro GIF exclusivo. Neste exemplo, FileSystemObject a biblioteca de tempo de execução de scripts gera um ficheiro temporário para a imagem GIF. O ficheiro é colocado na mesma pasta que a página ASP para que possa utilizar o método MapPath do objeto Session para obter a localização do ficheiro temporário. O nome do ficheiro é guardado como uma variável de sessão para que esta é eliminada quando a sessão termina.Tenha em atenção que o IIS executa a subrotina ' Session_OnEnd sempre que a sessão foi excedido. A sessão expirar se o cliente não solicitou uma página dentro da duração de tempo de espera, o que está definida para um (1) minuto no início da sessão.

Notas adicionais

Actualmente, o único filtro disponível para o método ExportPicture é para imagens "GIF".O método de ExportPicture tem dois argumentos permitem-lhe indicar as dimensões em pixels do gráfico gerado. No código de exemplo fornecido, as dimensões de largura e altura são codificados. Em vez disso, pode utilizar dimensões que especifica o cliente.Os OWC. Gráfico ProgID aplica-se para o Office Web Components 9.0. Se pretender utilizar a versão 10 dos componentes, altere o ProgID de OWC. Gráfico para o ficheiro OWC10. Espaço do gráfico ou se pretende utilizar a versão 11 dos componentes, altere o ProgID de OWC. Gráfico para OWC11. Espaço do gráfico.

Problemas com a utilização do lado do servidor

Deve estar ciente de que os componentes Web do Office 2000 não são concebidos para utilização do lado do servidor e poderá ter problemas se utilizar os componentes num servidor com um elevado número de ligações de utilizadores em simultâneo. Muitos destes problema corrigidos nos componentes Web do Office XP e Office 2003 Web Components e deverá utilizar os componentes Web do Office XP ou Office 2003 Web Components para soluções de lado do servidor em grande escala.Para obter informações adicionais, clique no número de artigo abaixo para visualizar o artigo na Microsoft Knowledge Base:

INFO: limitações do Office 2000 Web Components quando utilizado do lado do servidor

Referências

Programação de componentes Web do Microsoft Office, Dave Stearns ISBN: 0-7356-0794-XPara obter informações adicionais sobre como utilizar o componente Web do gráfico, consulte os seguintes artigos da Knowledge Base:

como criar um gráfico de combinação com o componente Web do gráfico

como utilizar o componente Web do Office gráfico com VB

como utilizar o VBScript para ligar um gráfico a um componente de folha de cálculo

Precisa de mais ajuda?

Quer mais opções?

Explore os benefícios da subscrição, navegue em cursos de formação, saiba como proteger o seu dispositivo e muito mais.