Sammanfattning
Förutom att använda Microsoft Office Chart Web Component som en Component Object Model (COM)-kontroll på ett formulär, är det möjligt att använda diagramwebbkomponenten som ett objekt som inte syns, i minnet. Den här artikeln beskrivs hur du kan använda diagramwebbkomponenten på en server för att skapa ett diagram representeras som en bild för Graphics Interchange Format (GIF). Du kan implementera strategi som beskrivs i denna artikel för att generera diagram bilder som kan användas på Internet eller i företag med heterogena klientdatorer.
Mer Information
Med Web diagramkomponenten kan du skapa diagram med data från olika källor, till exempel arrayer, en databaser, kalkylblad eller anpassade datakällor. När du skapar ett diagram kan använda du metoden ExportPicture för diagramkomponenten för att generera en GIF-bild av diagrammet.
Du kan ändra filen global.asa och skapa en ASP-sida med koden som illustreras i följande steg för att åstadkomma detta.Steg för att skapa projekt
-
Starta Microsoft Visual InterDev.
-
Skapa ett nytt webbprojekt som kallas
ServerChart och klicka på Nästa . -
Ange den server som ska användas för det här webbprojektet.
-
Klicka på Slutför om du vill skapa webbprojektet.
-
Högerklicka på projektkatalogen på servern (detta är vanligtvis C:\Inetpub\wwwroot\ServerChart), Välj Egenskaper och klicka sedan på fliken säkerhet .
-
Klicka på behörigheteroch lägga till följande katalogbehörigheter:
IUSR_SERVERNAME: Läsa, skriva, köra och ta bort
Skapare: Läsa, skriva, köra och ta bort -
Klicka på OK om du vill ange behörighet.
-
Högerklicka på filen global.asa och välj Hämta arbetar kopierai Visual InterDev-projektet.
-
Ändra global.asa-filen ska innehålla följande skript:
<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> -
Klicka på projekt -menyn och välj Lägg till objekt för webbenväljer Active Server-sidan. Namnet på sidan chart.asp.
-
Ändra skriptet i chart.asp ska innehålla följande:
<%@ 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> -
Spara projektet.
-
Högerklicka på chart.asp i Project Explorer och välj Visa i webbläsaren.
Sidan visas i ett diagram och som innehåller CPU-utilizations för olika datorer. Du kan visa olika utilizations genom att välja olika organisationer.
När du skapar flera diagram som baseras på olika datamängder måste varje diagram sparas som en unik GIF-fil. I det här exemplet skapas Scripting Runtime-biblioteket FileSystemObject en temporär fil för GIF-bilden. Filen är placerad i samma mapp som ASP-sidan så att du kan använda metoden MapPath i Session-objektet för att få plats på den temporära filen. Filnamnet sparas som en sessionsvariabel så att den tas bort när sessionen avslutas. Observera att IIS körs Session_OnEnd subrutin när tidsgränsen har nåtts för sessionen. Sessionen avslutas om klienten inte har begärt en sida inom timeout-varaktighet, som ställs till en (1) minut i början av sessionen.Ytterligare anmärkningar
För närvarande är det enda filtret som är tillgängliga för metoden ExportPicture för ”GIF-” bilder.
Metoden ExportPicture har två argument som gör det möjligt att ange dimensioner i bildpunkter genererade diagram. I exempelkoden, är mått för bredd och höjd hårdkodade. Du kan i stället använda dimensioner som klienten anger. Office Web Components. ProgID diagram gäller för Office Web Components 9.0. Om du vill använda version 10 av komponenter, ändra ProgID från OWC. Diagram för OWC10. Diagramområdet eller om du vill använda version 11 komponenter, ändra ProgID från OWC. Diagram för OWC11. Diagramområdet.Problem med servern
Du bör vara medveten om att Office 2000 Web Components inte har utformats för användning med servern och det kan uppstå problem om du använder komponenterna på en server med ett stort antal samtidiga användaranslutningar. Många av dessa problem har åtgärdats i Office XP Web Components och Office 2003 Web Components och du bör använda Office XP Web Components eller Office 2003 Web Components för stora serverlösningar.
För ytterligare information klickar du på artikelnumret nedan och läser artikeln i Microsoft Knowledge Base:INFO: begränsningar av Office 2000 Web Components när används för serversidan
Referenser
Programmering av Microsoft Office Web Components av Dave Stearns-ISBN: 0-7356-0794-X
Mer information om hur du använder diagramwebbkomponenten finns i följande Knowledge Base-artiklar:hur du skapar ett kombinationsdiagram med diagramwebbkomponenten
hur du använder diagramkomponenten i Office Web med VB
hur du använder VBScript binda ett diagram till en kalkylbladskomponent