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

Traduções de Artigos Traduções de Artigos
Artigo: 244049 - Ver produtos para os quais este artigo se aplica.
Expandir tudo | Reduzir tudo

Nesta página

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 = 1
    End Sub
    
    Sub 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
    	Next
    End 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 value
    nData = Request.QueryString("sOrg")
    
    'When the page loads the first time, set ndata to 5
    if len(nData) = 0 then nData = 5
    
    ' Generate random categories and values for the chart
    ' These values can come from some existing data source
    for i = 1 to 5
    	Categories(i) = "Machine" & CStr(i)
    	Vals(i) = nData * Rnd(100)
    next
    
    ' Create a Chart Object
    Set oChart = CreateObject("OWC.Chart")
    Set c = oChart.Constants
    
    ' Set the different parameters for the ChartSpace
    oChart.Border.Color = c.chColorNone
    
    ' Get Organization number and use it to set the Caption
    nOrg = nData/5
    sCaption = "Current Utilizations for Org"
    sCaption = sCaption & CStr(nOrg)
    
    ' Add a chart and set parameters for the chart
    oChart.Charts.Add
    oChart.Charts(0).Type = oChart.Constants.chChartTypeColumnClustered
    oChart.Charts(0).SeriesCollection.Add
    oChart.Charts(0).SeriesCollection(0).Caption = sCaption
    oChart.Charts(0).SeriesCollection(0).SetData c.chDimCategories, c.chDataLiteral, Categories
    oChart.Charts(0).SeriesCollection(0).SetData c.chDimValues, c.chDataLiteral, Vals
    oChart.Charts(0).HasLegend = True
    oChart.Charts(0).HasTitle = True
    
    ' Get a temporary filename to save chart in that file
    sFname = Session("FSO").GetTempName & session.SessionID & ".gif"
    
    ' Export the chart to the temporary file
    oChart.ExportPicture server.MapPath(sFname), "gif", 600, 512
    
    ' Create a link to the generated file
    Response.Write "<img src='" & sFname & "'>"
    
    ' Store the file with its path in the session object for cleanup
    Session("sTempFile" & Session("n")) = Server.MapPath(sFname)
    
    ' Increment the number of files
    Session("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

Propriedades

Artigo: 244049 - Última revisão: 22 de fevereiro de 2007 - Revisão: 3.5
A informação contida neste artigo aplica-se a:
  • Microsoft Office 2003 Web Components
  • Microsoft Office XP Web Components
  • Microsoft Office Chart Component 9.0
Palavras-chave: 
kbmt kbhowto kbofficewebchart KB244049 KbMtpt
Tradução automática
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

Submeter comentários

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com