Souhrn
Kromě použití webová součást Graf aplikace Microsoft Office jako hostované na formuláři ovládací prvek modelu COM (Component Object), je možné použít webová součást graf jako objekt není viditelný, v paměti. Tento článek ukazuje, jak použít webová součást Graf na serveru vytvořit graf, který je reprezentován jako obrázek formátu GIF (Graphics Interchange). Můžete implementovat strategii popsané v tomto článku k vygenerování grafu obrazy, které lze použít v síti Internet nebo v podnicích s heterogenní klientské počítače.
Další informace
Pomocí webová součást Graf můžete vytvořit grafy pomocí dat z různých zdrojů, jako jsou pole, databáze, tabulky nebo všechny vlastní zdroje dat. Po vytvoření grafu můžete generovat obrázek grafu, že metoda ExportPicture komponenty Graf.
K tomuto účelu, můžete upravit soubor global.asa a vytvořte stránku ASP s kód v následujících krocích.
Kroky pro vytvoření projektu
-
Spustíte Microsoft Visual InterDev.
-
Vytvoření nového webového projektu nazývá
ServerChart a klepněte na tlačítko Další . -
Zadejte server, který má být použit pro tento webový projekt.
-
Klepněte na tlačítko Dokončit vytvořte webový projekt.
-
Klepněte pravým tlačítkem myši adresáři projektu na serveru (obvykle je to C:\Inetpub\wwwroot\ServerChart), vyberte Vlastnosti a potom klepněte na kartu zabezpečení .
-
Klepněte na tlačítko oprávněnía přidejte následující oprávnění pro adresář:
IUSR_SERVERNAME: Číst, zapisovat, spustit a odstranit
Autor: Číst, zapisovat, spustit a odstranit -
Klepněte na tlačítko OK Chcete-li nastavit oprávnění.
-
V projektu Visual InterDev klepněte pravým tlačítkem myši na soubor global.asa a vyberte Získat pracovní kopii.
-
Upravte soubor global.asa obsahovat následující 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> -
V nabídce projekt klepněte na příkaz, vyberte Položku Přidat Weba potom vyberte Active Server Page. Název stránky chart.asp.
-
Upravte skript v chart.asp obsahuje následující:
<%@ 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> -
Uložte projekt.
-
Chart.asp v Aplikaci Project Explorer klepněte pravým tlačítkem myši a vyberte Zobrazit v prohlížeči.
S grafem obsahující kupujících procesoru pro různé počítače se zobrazí na stránce. Výběrem jiné organizace můžete zobrazit různé kupujících.
Při vytváření více grafů založených na různé sady dat, musí každý graf uložen jako jedinečný soubor ve formátu GIF. V tomto příkladu generuje knihovny runtime skriptování FileSystemObject dočasný soubor obrázku ve formátu GIF. Soubor je umístěn ve stejné složce jako stránka ASP tak, aby metoda MapPath objektu Session můžete získat umístění dočasného souboru. Název souboru je uložena jako proměnné relace, takže je odstraněna po skončení relace.
Všimněte si, že služba IIS spustí podprogram Session_OnEnd kdykoli vypršel časový limit relace. Pokud klient nepožádal stránky v rámci trvání časového limitu, která je nastavena na jedna (1) minutu na začátku relace časového limitu relace.
Další poznámky
V současné době je pouze filtr k dispozici metodu ExportPicture obrázky "ve formátu GIF".
Metoda ExportPicture má dva argumenty, které umožňují určit rozměry v obrazových bodech generované grafu. V ukázkovém kódu uvedené rozměry šířky a výšky jsou pevně. Místo toho můžete použít dimenze, které určuje klient.
OWC. Identifikátor ProgID graf platí pro Office Web Components 9.0. Pokud chcete používat verzi součásti 10, změníte identifikátor ProgID ze součástí OWC. Graf OWC10. Plocha grafu nebo pokud chcete použít verzi součásti, 11 změnit identifikátor ProgID součásti OWC. Graf OWC11. Plocha grafu.
Problémy s použití na straně serveru
Je třeba si uvědomit, že součásti Office 2000 Web Components nejsou navrženy pro použití na straně serveru, a mohou nastat potíže při použití součásti na server s vysokým počtem souběžných uživatelských připojení. Mnohé z těchto problému jsou popsány v součásti Office XP Web Components a součásti Office 2003 Web Components a měli byste zvážit použití Office XP Web Components a součásti Office 2003 Web Components pro rozsáhlé řešení na straně serveru.
Další informace získáte klepnutím na níže uvedené číslo článku znalostní báze Microsoft Knowledge Base:
INFO: omezení Office 2000 Web Components při použití straně serveru
Odkazy
Programování Microsoft Office Web Components pomocí Dave Stearns ISBN: 0-7356-0794-X
Další informace o použití webová součást Graf naleznete v následujících článcích znalostní báze Knowledge Base:
jak vytvořit kombinovaný graf s webová součást Graf
jak webová součást Graf sady Office pomocí jazyka Visual Basic
způsob použití VBScript součásti Tabulka svázat graf