在ASP.net中使用OWC繪製統計圖表

來源:互聯網
上載者:User

OWC(Microsoft Office Web Components)是Microsoft Office使用的資料繫結ActiveX控制項,用於向Web頁添加圖表功能。OWC支援Microsoft Excel 2000中大部分的平面圖表(如折線圖、直條圖、股價圖等)和極座標圖表(如餅圖和雷達圖),並支援組合圖,如兩軸線-柱圖,資料表會隨同圖表發布,圖表隨著資料的變化而改變。OWC能將處理結果做為標準GIF輸出並下載到瀏覽器中顯示。

首先,使用ADODB.Recordset讀出資料集合,並與OWC組件進行資料繫結:

Dim owcChartSpace As OWC.ChartSpace = New OWC.ChartSpace()  
Dim owcChart As OWC.WCChart = owcChartSpace.Charts.Add  
Dim ConnADO As New ADODB.Connection()  
Dim RecordsetADO As New ADODB.Recordset()  
Dim connectionString As String  
connectionString = "Provider=Microsoft.Jet.OLEDB.4.0;" & _  
"Data Source=" & Server.MapPath("Grades.mdb")  
ConnADO.Open(connectionString)  
RecordsetADO.ActiveConnection = ConnADO  
RecordsetADO.CursorType = ADODB.CursorTypeEnum.adOpenStatic  
RecordsetADO.CursorLocation = ADODB.CursorLocationEnum.adUseClient  
Dim strSQL As String  
strSQL = "Select city, month, temperature From test order by city,ids"  
RecordsetADO.Open(strSQL, ConnADO)  
owcChartSpace.DataSource = RecordsetADO

然後,指定OWC的顯示類型:

owcChart.Type = OWC.ChartChartTypeEnum.chChartTypeSmoothLineMarkers

在運行時向OWC中輸入資料有多種方法。所有這些方法都要用到SetData方法來真正將資料寫入Chart組件,因此將詳細介紹此方法。SetData 方法應用於WCChart、WCErrorBars和 WCSeries對象並能向這三種對象輸入資料。

SetData 方法有三個參數:Dimension、DataSourceIndex和 DataReference。Dimension 參數引用圖表中被填充資料的一部分。可用的維度常數為SeriesNames、Categories、Values、YValues、XValues、OpenValues、CloseValues、HighValues、LowValues、BubbleValues、RValues 和 ThetaValues。這些常數每一種都引用了圖表的一部分;例如,SeriesNames常數引用了每個序列名,OpenValues和 CloseValues常數引用股票圖的開盤價和收盤價等等。每個常數都是作為諸如chDimSeriesNames、chDimCategories、chDimValues等表單中的枚舉常數而傳遞給該方法的。

這裡,我們使用SetData方法給OWC賦值:

owcChart.SetData(OWC.ChartDimensionsEnum.chDimSeriesNames, 0, "city") 
Dim owcSeries As OWC.WCSeries  
For Each owcSeries In owcChart.SeriesCollection  
owcSeries.SetData(OWC.ChartDimensionsEnum.chDimCategories, 0, "month")  
owcSeries.SetData(OWC.ChartDimensionsEnum.chDimValues, 0, "temperature")  
Next

最後,將OWC處理結果轉換成Gif圖象輸出到瀏覽器中顯示:

Randomize()  
Dim nfilenameSuffix As Integer  
Dim sfilenamesuffix As String  
nfilenameSuffix = 100000 * Rnd()  
sfilenamesuffix = System.Convert.ToString(nfilenameSuffix)  
owcChartSpace.ExportPicture(MapPath("owc/price_")

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.