สรุป
นอกเหนือจากการใช้คอมโพเนนต์การเว็บแผนภูมิของ Microsoft Office เป็นตัวควบคุมแบบจำลองวัตถุของคอมโพเนนต์ (COM) ที่โฮสต์บนฟอร์ม จำเป็นต้องใช้คอมโพเนนต์เว็บแผนภูมิเป็นวัตถุที่มองไม่เห็น ในหน่วยความจำ บทความนี้อธิบายวิธีการใช้แผนภูมิเว็บคอมโพเนนต์บนเซิร์ฟเวอร์เมื่อต้องการสร้างแผนภูมิที่แสดงเป็นรูปภาพรูปแบบแลกเปลี่ยนกราฟิก (GIF) คุณสามารถใช้กลยุทธ์ที่กล่าวถึง ในบทความนี้เพื่อสร้างแผนภูมิรูปภาพที่สามารถใช้งานข้ามอินเทอร์เน็ต หรือ ในองค์กรกับเดสก์ท็อปของไคลเอนต์ที่แตกต่างกัน
ข้อมูลเพิ่มเติม
มีแผนภูมิ Web Component คุณสามารถสร้างแผนภูมิโดยใช้ข้อมูลจาก แหล่งต่าง ๆ เช่นอาร์เรย์ เป็นฐานข้อมูล กระดาษคำนวณ หรือแหล่งข้อมูลแบบกำหนดเองใด ๆ เมื่อคุณสร้างแผนภูมิ คุณสามารถใช้เมธอด ExportPicture ของคอมโพเนนต์แผนภูมิเพื่อสร้างเป็นรูป GIF ของแผนภูมินั้น
เพื่อให้บรรลุนี้ คุณสามารถปรับเปลี่ยนแฟ้ม global.asa และสร้างหน้า ASP ที่ มีรหัสที่แสดงในขั้นตอนต่อไปนี้
ขั้นตอนการสร้างโครงการ
-
เริ่มต้น Microsoft Visual InterDev
-
สร้างเว็บโครงการใหม่ที่เรียกว่า
ServerChartและคลิกปุ่มถัดไป -
พิมพ์ในเซิร์ฟเวอร์ที่จะใช้สำหรับโครงการในเว็บนี้
-
คลิกเสร็จสิ้นเพื่อสร้างเว็บโครงการ
-
คลิกขวาที่ไดเรกทอรีของโครงการของคุณบนเซิร์ฟเวอร์ (นี่คือ C:\Inetpub\wwwroot\ServerChart), เลือกคุณสมบัติและคลิกแท็บความปลอดภัยแล้ว
-
คลิกที่สิทธิ์และเพิ่มการอนุญาตไดเรกทอรีต่อไปนี้:
IUSR_SERVERNAME: อ่าน เขียน ดำเนินการ และลบ
ผู้สร้าง: อ่าน เขียน ดำเนินการ และลบ -
คลิกตกลงเมื่อต้องการตั้งค่าสิทธิ์
-
ในโครงการ Visual InterDev คลิกขวาแฟ้ม global.asa และเลือกรับสำเนาการทำงาน
-
การปรับเปลี่ยนแฟ้ม global.asa มีสคริปต์ต่อไปนี้:
<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> -
คลิกบนเมนูโครงการเลือกเพิ่มรายการเว็บและจากนั้น เลือกActive Server Page ชื่อเพchart.asp
-
ปรับเปลี่ยนสคริปต์ใน chart.asp มีต่อไปนี้:
<%@ 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> -
บันทึกโครงการ
-
คลิกขวาที่ chart.asp ในExplorer โครงการและเลือกมุมมองในเบราว์เซอร์
เพจนั้นปรากฏ ด้วย utilizations CPU สำหรับคอมพิวเตอร์ต่าง ๆ ที่ประกอบด้วยแผนภูมิ ด้วยการเลือกองค์กรอื่น คุณสามารถดู utilizations ที่แตกต่างกัน
เมื่อคุณสร้างหลายแผนภูมิบนชุดข้อมูลที่แตกต่างกัน แผนภูมิแต่ละต้องถูกบันทึกเป็นแฟ้ม GIF ที่ไม่ซ้ำกัน ในตัวอย่างนี้ FileSystemObject ของไลบรารีรันไทม์การสร้างสคริปต์สร้างแฟ้มชั่วคราวสำหรับรูป GIF คุณสามารถวางแฟ้มในโฟลเดอร์เดียวกันกับเพจ ASP เพื่อให้คุณสามารถใช้เมธอด MapPath ของออบเจ็กต์เซสชันเพื่อเรียกดูตำแหน่งที่ตั้งของแฟ้มชั่วคราว ชื่อแฟ้มจะถูกบันทึกเป็นตัวแปรเซสชันเพื่อที่จะถูกลบออกเมื่อสิ้นสุดเซสชัน
หมายเหตุว่า IIS ดำเนินการของ subroutine Session_OnEnd เมื่อใดก็ ตามที่เซสชันหมดเวลา เซสชันหมดเวลาถ้าไคลเอ็นต์ได้ร้องขอเพจภายในการหมดเวลาของระยะเวลา ที่ถูกตั้งค่าเป็นนาทีหนึ่ง (1) เมื่อเริ่มต้นเซสชัน
หมายเหตุเพิ่มเติม
ในปัจจุบัน ตัวกรองเท่านั้นที่พร้อมใช้งานไปยังเมธอด ExportPicture อยู่สำหรับรูป "GIF"
วิธีการ ExportPicture มีอาร์กิวเมนต์ที่สองที่ช่วยให้คุณสามารถระบุขนาดพิกเซลของแผนภูมิสร้างขึ้น ในตัวอย่างรหัสให้ ขนาดความกว้างและความสูงจะตาย แทน คุณสามารถใช้มิติที่ระบุของไคลเอ็นต์ของคุณ
OWC ProgID ของแผนภูมิที่ใช้กับ Office 9.0 คอมโพเนนต์ของเว็บ ถ้าคุณต้องการใช้รุ่น 10 ส่วนประกอบ เปลี่ยน ProgID จาก OWC แผนภูมิการ OWC10 ChartSpace หรือถ้าคุณต้องการใช้รุ่น 11 ในส่วนประกอบ เปลี่ยน ProgID จาก OWC แผนภูมิการ OWC11 ChartSpace
ปัญหาเกี่ยวกับการใช้ฝั่งเซิร์ฟเวอร์
คุณควรตระหนักว่า Office 2000 Web Components ไม่ได้ถูกออกแบบสำหรับใช้ฝั่งเซิร์ฟเวอร์ และคุณอาจพบปัญหาถ้าคุณใช้คอมโพเนนต์บนเซิร์ฟเวอร์ที่มีตัวเลขสูงของการเชื่อมต่อผู้ใช้พร้อมกัน ปัญหาเหล่านี้จำนวนมากจะได้รับการจัดการใน Office XP เว็บคอมโพเนนต์และ Office 2003 Web Components และคุณควรพิจารณาการใช้ Office XP เว็บคอมโพเนนต์หรือ Office 2003 เว็บคอมโพเนนต์สำหรับโซลูชันฝั่งเซิร์ฟเวอร์ขนาดใหญ่
สำหรับข้อมูลเพิ่มเติม คลิกหมายเลขบทความต่อไปนี้เพื่อดูบทความในฐานความรู้ของ Microsoft:
ข้อมูล: ข้อจำกัดของเมื่อคอมโพเนนต์ของเว็บ 2000 Office ใช้ฝั่งเซิร์ฟเวอร์
ข้อมูลอ้างอิง
การเขียนโปรแกรมของ Microsoft Office Web Components โดย Dave Stearns ISBN: 0-7356-0794-X
สำหรับข้อมูลเพิ่มเติมเกี่ยวกับการใช้แผนภูมิ Web Component ดูบทความฐานข้อมูลองค์ความรู้ต่อไปนี้:
วิธีสร้างแผนภูมิผสมกับแผนภูมิเว็บคอมโพเนนต์
วิธีใช้แผนภูมิ Office Web Component ด้วย VB
วิธีใช้ VBScript เพื่อผูกแผนภูมิกับคอมโพเนนต์กระดาษคำนวณ