#〔技術人員心經〕 #大標=網站如何在瀏覽器上即時展示專業的圖表 #作者=文/張廣興 p187  ========================================  barchar.asp   <% Option Explicit %> 長條圖的程式範例 <% Sub KillGIF(strFlPath) Dim objFolder Dim objFileSys Dim objFiles objFileSys = Server.CreateObject("Scripting.FileSystemObject") objFolder = objFileSys.GetFolder(strFlPath) for each objFiles in objFolder.Files if instr(objFiles.Name, ".gif") > 0 and DateDiff("n", objFiles.DateLastModified, now) > 15 then objFileSys.DeleteFile strFlPath & "\" & objFiles.Name, True end if next End Sub Function ChartToGif(objName, strExportPath, strPutPath) Dim strFileName Randomize strFileName = "BarChar" & Timer & Rnd & ".gif" objName.ExportPicture strExportPath & "\" & strFileName, "gif", 300, 200 ChartToGif = strPutPath & "/" & strFileName End Function %>
<% dim strGetInput1 dim strSrvCharPath dim strmyChartPath dim objMyChart dim objBarChart dim objChart dim objConnect dim objRdSet dim strChartFile dim objSeries dim objAxes dim strconn strGetInput1 = Request.QueryString("s1") '取得使用者輸入資料 strmyChartPath = "/web/chart" strSrvCharPath = Server.MapPath("/web/chart") '設定Web Server Path '建立資料物件 strconn = "Driver={SQL Server};Description=sqldemo;SERVER=(local);" _ & "UID=LoginID;Password=;DATABASE=pubs" set objConnect = Server.CreateObject("ADODB.Connection") objConnect.Open strconn set objRdSet = Server.CreateObject("ADODB.Recordset") objRdSet.ActiveConnection = objConnect objRdSet.CursorType = adOpenStatic objRdSet.CursorLocation = adUseClient objRdSet.Open("select title_id, sum(Price) as Price from Titles where title_id>='"&strGetInput1&"' group by title_id order by title_id") '建立圖表物件 set objMyChart = Server.CreateObject("OWC.Chart") set objBarChart = objMyChart.Charts.Add objMyChart.Border.Color = "red" objMyChart.HasChartSpaceTitle = true 'Title objMyChart.ChartSpaceTitle.Caption = "長條圖範例" objBarChart.type = 1 '長條圖 objBarChart.HasLegend = True '圖例 objMyChart.DataSource = objRdSet '圖表設定資料來源 objChart = objMyChart.Constants objBarChart.SetData objChart.chDimSeriesNames,0,"Price" for each objSeries in objBarChart.SeriesCollection objSeries.SetData objChart.chDimCategories,0,"title_id" objSeries.SetData objChart.chDimValues,0,"Price" next for each objAxes in objBarChart.Axes objAxes.HasTitle = True if objAxes.Type = objChart.chCategoryAxis then objAxes.Title.Caption = "金額" else objAxes.Title.Caption = "書名" end if next strChartFile = ChartToGif(objMyChart, strSrvCharPath, strmyChartPath) Response.Write "" & "

" KillGIF strSrvCharPath objRdSet.Close %>

======================================