Sumário

Além de usar o componente da Web de gráfico do Microsoft Office como um modelo de objeto componente (COM) hospedado em um formulário, é possível usar o componente gráfico da Web como um objeto em memória não-visível. Este artigo ilustra como você pode usar o componente do gráfico da Web em um servidor para criar um gráfico representado como uma imagem (GIF Graphics Interchange Format). Você pode implementar a estratégia discutida neste artigo para gerar imagens de gráficos que podem ser usadas na Internet ou em empresas com desktops de clientes heterogêneos.

Mais informações

Com o componente da Web de gráfico, você pode criar gráficos usando dados de várias fontes, como matrizes, a bancos de dados, planilhas ou quaisquer fontes de dados personalizadas. Quando você cria um gráfico, você pode usar o método ExportPicture do componente gráfico para gerar uma imagem GIF desse gráfico.Para fazer isso, você pode modificar o arquivo global. asa e criar uma página ASP com o código ilustrado nas etapas a seguir.

Etapas de criação de projeto

  1. Inicie o Microsoft Visual InterDev.

  2. Criar um novo projeto Web chamadoServerChart e clique no botão Avançar .

  3. Digite o servidor a ser usado para este projeto da Web.

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

  5. Clique com botão direito o diretório do projeto no servidor (normalmente é o C:\Inetpub\wwwroot\ServerChart), selecione Propriedades e, em seguida, clique na guia segurança .

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

    IUSR_SERVERNAME: Ler, gravar, executar e excluirCriador: Ler, gravar, executar e excluir

  7. Clique em Okey para definir as permissões.

  8. No projeto Visual InterDev, clique com botão direito no arquivo global. asa e selecione Obter cópia de trabalho.

  9. Modificar o arquivo 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 Project , selecione Add Item da Webe selecione Active Server Page. Nomeie a página chart.asp.

  11. Modifique o script em chart.asp para conter o seguinte:

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

  13. Clique com o botão chart.asp no Project Explorer e selecionar Exibir no navegador.

A página será exibida com um gráfico que contém as utilizações de CPU para vários computadores. Selecionando diferentes organizações, você pode exibir diferentes utilizações.Quando você criar vários gráficos baseados em diferentes conjuntos de dados, cada gráfico deve ser salva como um arquivo GIF exclusivo. Neste exemplo, FileSystemObject da biblioteca de tempo de execução do script gera um arquivo temporário para a imagem GIF. O arquivo é colocado na mesma pasta que a página ASP para que você pode usar o método MapPath do objeto Session para obter o local do arquivo temporário. O nome do arquivo é salvo como uma variável de sessão, de forma que ela é excluída quando a sessão é encerrada.Observe que o IIS executa a sub-rotina Session_OnEnd sempre que a sessão foi esgotado. A sessão expire se o cliente não solicitou uma página dentro da duração do tempo limite, que é definida como 1 (um) minuto no início da sessão.

Observações adicionais

No momento, o único filtro disponível para o método ExportPicture é para imagens "GIF".O método ExportPicture tem dois argumentos que permitem que você indique 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, você pode usar dimensões que especifica seu cliente.O OWC. ProgID do gráfico se aplica ao Office Web Components 9.0. Se você deseja usar a versão 10 do componentes, altere o ProgID de OWC. Gráfico para OWC10. ChartSpace ou se você deseja usar a versão 11 dos componentes, altere o ProgID de OWC. Gráfico OWC11. ChartSpace.

Problemas com o uso do lado do servidor

Você deve estar ciente que o Office 2000 Web Components não são destinados ao uso do lado do servidor, e você poderá encontrar problemas se você usar os componentes em um servidor com um número alto de conexões de usuários simultâneos. Muitos desses problema serão abordados com o Office XP Web Components e o Office 2003 Web Components e você deve considerar usar o Office XP Web Components ou o Office 2003 Web Components para soluções em grande escala do lado do servidor.Para obter informações adicionais, clique no número abaixo para ler o artigo na Base de Conhecimento Microsoft:

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

Referências

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

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

a utilização do gráfico do Office Web Components com VB

como usar o VBScript para vincular um gráfico a um componente Planilha

Precisa de mais ajuda?

Quer mais opções

Explore os benefícios da assinatura, procure cursos de treinamento, saiba como proteger seu dispositivo e muito mais.