ASP中使用Office2000中的圖表控制項
來源:互聯網
上載者:User
ASP中使用Office2000中的圖表控制項
-- Microsoft Office Chart 9.0 製作圖表
前一陣為了做圖表,查看了論壇中的所有文章,但大都是用Aspchart,ShortGraph等組件,這些組件多半都是國外開發要money的。如果你用office 的MS Chart,往往作出的效果又差強人意。如果你使用過Office2000中Excel的圖表的話,應該被一流的效果所折服。想把他搬上你的網站嗎?沒問題,現在你也能通過ASP和VBScript來實現Microsoft Office Chart 9.0 的強大的功能和絕妙的效果。
樣本中使用 ADO 記錄集中的資料建立圖表。首先根據返回的記錄集資料建立以定位字元分隔的字串,然後通過 SetData 方法並使用此字串設定圖表資料。
源檔案chart.asp :
(參照微軟協助範例,加入部分本人的修改...)
<HTML>
<HEAD>
<META NAME="GENERATOR" Content="Microsoft FrontPage 4.0">
</HEAD>
<BODY>
<object id=ChartSpace1 classid=CLSID:0002E500-0000-0000-C000-000000000046 style="width:80%;height:350"></object>
<object id=ADOConnection1 classid=CLSID:00000514-0000-0010-8000-00AA006D2EA4></object>
<script Language=VBScript>
Sub Window_OnLoad()
Dim rs, categories, values
categories = ""
values = ""
' 開啟串連執行sql查詢 (建立“nwind.mdb”庫,並建立名為“Category Sales for 1995”的表)
ADOConnection1.Open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=c:wind.mdb"
Set rs = ADOConnection1.Execute("SELECT * FROM [Category Sales for 1995]")
' 對於每一欄位記錄產生一個由定位字元分隔的字串
rs.MoveFirst
Do while Not rs.EOF
categories = categories & rs.Fields(0).Value & Chr(9)
values = values & rs.Fields(1).Value & Chr(9)
rs.MoveNext
Loop
rs.Close
ADOConnection1.Close
' 刪去字串末尾的分隔字元
categories = Left(categories, Len(categories) - 1)
values = Left(values, Len(values) - 1)
' 建立一個系列
ChartSpace1.Clear
ChartSpace1.Charts.Add