<form id="hz9zz"></form>
  • <form id="hz9zz"></form>

      <nobr id="hz9zz"></nobr>

      <form id="hz9zz"></form>

    1. 明輝手游網中心:是一個免費提供流行視頻軟件教程、在線學習分享的學習平臺!

      ASP中使用Office2000中的圖表控件

      [摘要]ASP中使用Office2000中的圖表控件 -- Microsoft Office Chart 9.0 制作圖表 前一陣為了做圖表,查看了論壇中的所有文章,但大都是用Aspchart,ShortGraph等組件,這些組件多半都是國外開發要money的。如果你用office 的MS Chart,往...

      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:\nwind.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
      ChartSpace1.Charts(0).SeriesCollection.Add
      ChartSpace1.Charts(0).SeriesCollection(0).Caption = "Sales"


      ' 使用recordset生成的字符串設置系列的類型和值
      Set c = ChartSpace1.Constants
      ChartSpace1.Charts(0).SeriesCollection(0).SetData c.chDimCategories, c.chDataLiteral, categories
      ChartSpace1.Charts(0).SeriesCollection(0).SetData c.chDimValues, c.chDataLiteral, values


      ' 設置圖表工作區的標題,并將圖表工作區的圖例放置于工作區的右邊。
      ChartSpace1.HasChartSpaceTitle = True
      With ChartSpace1.ChartSpaceTitle
      .Caption = "Monthly Sales Data"
      .Font.Size = 12
      .Font.Color = "#FF0000"
      .Font.Bold = True
      End with

      ChartSpace1.HasChartSpaceLegend = True
      With ChartSpace1.ChartSpaceLegend
      .Position = c.chLegendPositionright
      .Font.Color = "#009999"
      .Font.Size = 9
      End with

      ' 設置圖表類型(具體樣式見附錄)
      ChartSpace1.Charts(0).Type = c.chChartTypeBarClustered
      ' 軸的坐標格式、樣式(有坐標軸時才設)
      With ChartSpace1.Charts(0).Axes(c.chAxisPositionBottom)
      .NumberFormat = "#,##0"
      .Font.Size = 9
      End with

      With ChartSpace1.Charts(0).Axes(c.chAxisPositionLeft)
      .Font.Color = "#0000ff"
      .Font.Size = 9
      End with
      end if

      End Sub
      </script>
      </BODY>
      </HTML>

      以上程序在Win98+PWS 下通過。

      通過以上的例程你可以根據你的需要,增加自己所需要的效果,一定能制作出極酷的統計圖表來的,需要幫助可以參見微軟的幫助文件(裝了 Office2000 就有)Msowcvba.chm 以及MSDN 在線幫助。

      有個缺點:客戶端好像也要裝Office2000 才行,另外我還沒找到如何不安裝 Office2000 來注冊該組件的方法,如果那位高手知道,請告訴我 luo_zhenyu@netease.com ,謝謝!

      附:

      ChartChartTypeEnum Constants 圖表類型常數(轉至MSDN)

      Constant Value

      chChartTypeCombo -1
      chChartTypeColumnClustered 0
      chChartTypeColumnStacked 1
      chChartTypeColumnStacked100 2
      chChartTypeBarClustered 3
      chChartTypeBarStacked 4
      chChartTypeBarStacked100 5
      chChartTypeLine 6
      chChartTypeLineMarkers 7
      chChartTypeLineStacked 8
      chChartTypeLineStackedMarkers 9
      chChartTypeLineStacked100 10
      chChartTypeLineStacked100Markers 11
      chChartTypeSmoothLine 12
      chChartTypeSmoothLineMarkers 13
      chChartTypeSmoothLineStacked 14
      chChartTypeSmoothLineStackedMarkers 15
      chChartTypeSmoothLineStacked100 16
      chChartTypeSmoothLineStacked100Markers 17
      chChartTypePie 18
      chChartTypePieExploded 19
      chChartTypePieStacked 20
      chChartTypeScatterMarkers 21
      chChartTypeScatterSmoothLineMarkers 22
      chChartTypeScatterSmoothLine 23
      chChartTypeScatterLineMarkers 24
      chChartTypeScatterLine 25
      chChartTypeScatterLineFilled 26
      chChartTypeBubble 27
      chChartTypeBubbleLine 28
      chChartTypeArea 29
      chChartTypeAreaStacked 30
      chChartTypeAreaStacked100 31
      chChartTypeDoughnut 32
      chChartTypeDoughnutExploded 33
      chChartTypeRadarLine 34
      chChartTypeRadarLineMarkers 35
      chChartTypeRadarLineFilled 36
      chChartTypeRadarSmoothLine 37
      chChartTypeRadarSmoothLineMarkers 38
      chChartTypeStockHLC 39
      chChartTypeStockOHLC 40
      chChartTypePolarMarkers 41
      chChartTypePolarLine 42
      chChartTypePolarLineMarkers 43
      chChartTypePolarSmoothLine 44
      chChartTypePolarSmoothLineMarkers 45


      日韩精品一区二区三区高清