Como utilizar o Server-Side gráficos para gerar dinamicamente gráficos

IMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine translation ou MT), não tendo sido portanto revisto ou traduzido por humanos. A Microsoft tem artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais. O objectivo é simples: oferecer em Português a totalidade dos artigos existentes na base de dados do suporte. Sabemos no entanto que a tradução automática não é sempre perfeita. Esta pode conter erros de vocabulário, sintaxe ou gramática… erros semelhantes aos que um estrangeiro realiza ao falar em Português. A Microsoft não é responsável por incoerências, erros ou estragos realizados na sequência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza actualizações frequentes ao software de tradução automática (MT). Obrigado.

Clique aqui para ver a versão em Inglês deste artigo: 244049
Sumário
Como utilizar o componente da Web do gráfico do Microsoft Office como um controlo COM (Component Object Model) hospedado num formulário, é possível utilizar o componente Web de gráficos como um objecto não visível, na memória. Este artigo ilustra como pode utilizar o componente Web de gráficos num servidor para criar um gráfico representado como uma imagem GIF (Graphics Interchange Format). Pode implementar a estratégia discutida em deste artigo para criar imagens de gráficos que podem ser utilizadas através da Internet ou em empresas com ambientes de trabalho cliente heterogéneos.
Mais Informação
Com o componente Web do gráfico, pode criar gráficos utilizando dados de várias origens, 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 ExportPicture método do componente de gráfico para gerar uma imagem GIF desse gráfico.

Para tal, pode modificar o ficheiro global.asa e criar uma página ASP com o código ilustrado nos passos seguintes.

Passos para criar projecto

  1. Inicie o Microsoft Visual InterDev.
  2. Crie um novo projecto de Web chamado ServerChart e clique no botão seguinte .
  3. Escreva o servidor a ser utilizado para esta Web Project.
  4. Clique em Concluir para criar o projecto da Web.
  5. Clique com o botão direito do rato o directório de projecto o servidor (normalmente, este é C:\Inetpub\wwwroot\ServerChart), seleccione Propriedades e, em seguida, clique no separador segurança .
  6. Clique em permissões e adicionar as permissões de directório seguinte:
    IUSR_SERVERNAME: Ler, escrever, executar e eliminar
    Autor: Ler, escrever, executar e eliminar
  7. Clique em ' OK ' para definir as permissões.
  8. No projecto Visual InterDev, clique com o botão direito do rato no ficheiro global.asa e Seleccione obter 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 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. Clique no menu projecto , seleccione Adicionar produto Web e, em seguida, seleccione Active Server Page . Nome da página chart.asp .
  11. Modificar o script 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 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 o projecto.
  13. Clique com o botão direito do rato chart.asp no Explorador de projecto e seleccione Ver no browser.
É apresentada a página com um gráfico com utilizações do CPU para vários computadores. Ao seleccionar diferentes organizações, pode ver diferentes utilizações.

Quando criar vários gráficos com base em diferentes conjuntos de dados, cada gráfico tem de ser guardado como um único ficheiro GIF. Neste exemplo, FileSystemObject a biblioteca de processamento de scripts Run-time 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 este é eliminado 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 tiver pedido a uma página dentro a duração de tempo limite é definida como um (1) minuto no início da sessão.

Notas adicionais

Actualmente, o filtro apenas disponível para o método ExportPicture é para imagens "GIF".

O método ExportPicture tem dois argumentos permitem-lhe indicar as dimensões em pixels do gráfico gerado. O código de exemplo fornecido, as dimensões de largura e altura são codificados. Em vez disso, pode utilizar as dimensões que especifica o cliente.

O OWC.Chart ProgID aplica Office Web Components 9.0. Se pretender utilizar versão 10 dos componentes, altere o ProgID do OWC.Chart para OWC10.ChartSpace ou se pretende utilizar o versão 11 dos componentes, altere o ProgID do OWC.Chart para OWC11.ChartSpace.

Problemas com a utilização do lado do servidor

Deve estar ciente de que os componentes Web do Office 2000 não foram concebidos para utilização do lado do servidor e que poderá detectar problemas se utilizar os componentes num servidor com um número elevado de ligações de utilizadores em simultâneo. Muitos deste problema são endereçados nos componentes Web do Office XP e Office 2003 Web Components e deve utilizar o Office XP Web Components ou componentes Web do Office 2003 para soluções do lado do servidor em larga escala.

Para obter informações adicionais, clique no número de artigo existente abaixo para visualizar o artigo na base de dados de conhecimento da Microsoft:
317316INFO: Limitações de quando de componentes Web do Office 2000 utilizado lado do servidor
Referências
Programação de componentes Web do Office por Dave Stearns ISBN: 0-7356-0794-X

Para obter informações adicionais sobre como utilizar o gráfico de componente Web, consulte os seguintes artigos da base de dados de conhecimento da:
240263Como criar um gráfico de combinação com o componente Web do gráfico
235885Como utilizar o componente Web do Office gráfico com VB
243192Como utilizar VBScript para ligação um gráfico para um componente de folha de cálculo
tempo real de OWC

Aviso: Este artigo foi traduzido automaticamente

Propriedades

ID do Artigo: 244049 - Última Revisão: 02/22/2007 01:27:26 - Revisão: 3.5

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

  • kbmt kbhowto kbofficewebchart KB244049 KbMtpt
Comentários