Sie sind zurzeit offline. Es wird auf die erneute Herstellung einer Internetverbindung gewartet.

Ihr Browser wird nicht unterstützt.

Sie müssen Ihren Browser aktualisieren, um die Website zu verwenden.

Aktualisieren Sie auf die neueste Version von Internet Explorer.

Verwendung der serverseitigen Diagrammerstellung zum dynamischen Generieren von Diagrammen

Dieser Artikel ist eine Übersetzung des folgenden englischsprachigen Artikels der Microsoft Knowledge Base:
244049 How To Use Server-Side Charting to Generate Charts Dynamically
Zusammenfassung
Neben der Verwendung der Webkomponente "Microsoft Office Chart" als COM-Steuerelement (COM = Component Object Model), das auf einem Formular gehostet wird, ist es auch möglich, die Chart-Webkomponente als nicht sichtbares, speicherinternes Objekt zu verwenden. Dieser Artikel veranschaulicht, wie Sie die Chart-Webkomponente auf einem Server verwenden können, um ein Diagramm zu erstellen, das als Bild im Graphics Interchange Format (GIF) dargestellt wird. Sie können die in diesem Artikel erörterte Strategie implementieren, um Diagrammbilder zu erstellen, die über das Internet oder in Unternehmen mit heterogenen Clientdesktops verwendet werden können.
Weitere Informationen
Mit der Chart-Webkomponente können Sie Diagramme auf der Basis von Daten erstellen, die aus mehreren verschiedenen Quellen stammen, beispielsweise aus Arrays, Datenbanken, Kalkulationstabellen oder beliebigen benutzerdefinierten Datenquellen. Nachdem Sie ein Diagramm erstellt haben, können Sie die Methode "ExportPicture" der Chart-Komponente verwenden, um ein GIF-Bild dieses Diagramms zu erstellen.

Hierzu können Sie die Datei "global.asa" modifizieren und eine ASP-Seite mit dem Code erstellen, der in den folgenden Schritten beschrieben wird.

Anleitung zum Erstellen des Projekts

  1. Starten Sie Microsoft Visual InterDev.
  2. Erstellen Sie ein neues Webprojekt mit dem Namen ServerChart, und klicken Sie dann auf Weiter.
  3. Geben Sie den Server an, der für dieses Webprojekt verwendet werden soll.
  4. Klicken Sie auf Fertig stellen, um das Webprojekt zu erstellen.
  5. Klicken Sie mit der rechten Maustaste auf Ihr Projektverzeichnis auf dem Server (in der Regel ist dies C:\Inetpub\wwwroot\ServerChart), klicken Sie auf Eigenschaften, und klicken Sie dann auf die Registerkarte Sicherheit.
  6. Klicken Sie auf Berechtigungen, und fügen Sie dann die folgenden Verzeichnisberechtigungen hinzu.
    IUSR_SERVERNAME : Lesen, Schreiben, Ausführen und Löschen
    Ersteller : Lesen, Schreiben, Ausführen und Löschen
  7. Klicken Sie auf OK, um die Berechtigungen festzulegen.
  8. Klicken Sie im Visual InterDev-Projekt mit der rechten Maustaste auf die Datei "Global.asa", und klicken Sie dann auf Arbeitsversion abrufen.
  9. Modifizieren Sie die Datei "global.asa" so, dass sie das folgende Skript enthält:
    <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. Klicken Sie auf das Menü Projekt, klicken Sie auf Webelement hinzufügen und dann auf Active Server Page. Geben Sie der Seite den Namen chart.asp.
  11. Modifizieren Sie die Datei "chart.asp" so, dass sie das folgende Skript enthält:
    <%@ 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. Speichern Sie das Projekt.
  13. Klicken Sie im Projekt-Explorer mit der rechten Maustaste auf die Datei "chart.asp", und klicken Sie dann im Browser auf Ansicht.
Jetzt wird die Seite mit einem Diagramm eingeblendet, das Daten zur CPU-Auslastung mehrerer Computer enthält. Indem Sie verschiedene Organisationen auswählen, können Sie verschiedene Auslastungsdaten einsehen.

Wenn Sie mehrere Diagramme erstellen, die auf unterschiedlichen Datensätzen basieren, muss jedes Diagramm als eigenständige GIF-Datei gespeichert werden. In diesem Beispiel generiert die Komponente "FileSystemObject" der Scripting-Laufzeitbibliothek eine temporäre Datei für das GIF-Bild. Diese Datei wird im selben Ordner gespeichert wie die ASP-Seite, sodass Sie die Methode "MapPath" des Objekts "Sitzung" verwenden können, um den Speicherort der temporären Datei zu ermitteln. Der Dateiname wird als Sitzungsvariable gespeichert und daher gelöscht, wenn die Sitzung beendet wird.

Beachten Sie, dass IIS immer dann die Subroutine "Session_OnEnd" ausführt, wenn für eine Sitzung eine Zeitüberschreitung eintritt. Eine Zeitüberschreitung der Sitzung ist dann gegeben, wenn der Client nicht innerhalb einer bestimmten Zeitspanne, die zu Beginn einer Sitzung auf eine Minute festgelegt ist, eine Seite anfordert.

Zusätzliche Hinweise

Zurzeit steht der Methode "ExportPicture" nur ein Filter für GIF-Bilder zur Verfügung.

Für die Methode "ExportPicture" gibt es zwei Argumente, mit denen Sie die Abmessungen des erzeugten Diagramms in Pixeln festlegen können. In dem hier zur Verfügung gestellten Beispielcode sind Breite und Höhe hartcodiert. Sie können aber auch die Abmessungen verwenden, die Ihr Client angibt.

Die ProgID "OWC.Chart" gilt für Office Web Components 9.0. Wenn Sie die Version 10 verwenden möchten, ändern Sie die ProgID von "OWC.Chart" zu "OWC10.ChartSpace". Um die Version 11 zu verwenden, ändern Sie die ProgID von "OWC.Chart" zu "OWC11.ChartSpace".

Probleme bei der serverseitigen Verwendung

Sie sollten sich der Tatsache bewusst sein, dass die Office 2000 Web Components nicht für die serverseitige Verwendung entwickelt wurden und Probleme auftreten können, wenn Sie diese Komponenten auf einem Server verwenden, auf dem gleichzeitig viele Benutzerverbindungen bestehen. Viele dieser Probleme sind in den Office XP Web Components und den Office 2003 Web Components nicht mehr gegeben. Sie sollten daher in Erwägung ziehen, die Office XP Web Components oder Office 2003 Web Components für umfangreiche Lösungen auf der Serverseite zu verwenden.

Weitere Informationen finden Sie im folgenden Artikel der Microsoft Knowledge Base:
317316 Einschränkungen von Office Web Components, wenn Office Web Components verwandt wird, serverseitige
Informationsquellen
"Programming Microsoft Office Web Components" von Dave Stearns. ISBN: 0-7356-0794-X

Weitere Informationen zur Verwendung der Webkomponente "Chart" finden Sie in den folgenden Artikeln der Microsoft Knowledge Base:
240263 Erstellen eines Verbunddiagramms mit der Diagrammwebkomponente
235885 Wie Verwenden der Diagrammwebkomponente mit Visual Basic
243192 HOWTO: verwenden Sie VBScript, um ein Diagramm an eine Tabellenkomponente zu binden
owc realtime
Bitte beachten Sie: Bei diesem Artikel handelt es sich um eine Übersetzung aus dem Englischen. Es ist möglich, dass nachträgliche Änderungen bzw. Ergänzungen im englischen Originalartikel in dieser Übersetzung nicht berücksichtigt sind. Die in diesem Artikel enthaltenen Informationen basieren auf der/den englischsprachigen Produktversion(en). Die Richtigkeit dieser Informationen in Zusammenhang mit anderssprachigen Produktversionen wurde im Rahmen dieser Übersetzung nicht getestet. Microsoft stellt diese Informationen ohne Gewähr für Richtigkeit bzw. Funktionalität zur Verfügung und übernimmt auch keine Gewährleistung bezüglich der Vollständigkeit oder Richtigkeit der Übersetzung.
Eigenschaften

Artikelnummer: 244049 – Letzte Überarbeitung: 01/07/2008 18:15:00 – Revision: 3.4

  • Microsoft Office Web Components
  • Microsoft Office Web Components
  • Microsoft Office Chart Component 9.0
  • kbhowto kbofficewebchart KB244049
Feedback
/html>