利用OFFICE 2003 OWC 繪圖控制元件在.NET平臺下實現資料圖表的繪製
阿新 • • 發佈:2019-02-03
來源:蘭州大學網路教育學院
宋昀傑 馬青 劉江
摘要:OWC,即Office Web Components,是微軟隨Office提供的繪圖控制元件,設計的目的是為眾多的控制元件容器提供互動的電子表格建模,資料報表和資料視覺化功能。OWC庫包含四個主要的元件:電子表格元件,圖表元件,透視表元件和資料來源元件。在.NET平臺下,就如何利用OWC繪圖控制元件來實現資料圖表的構建。 關鍵詞:資料製圖;繪圖控制元件;OFFICE OWC; Microsoft Visual Studio;ASP.NET;C# 1.在程式中引用OWC 要利用OWC繪圖控制元件繪圖就要將OWC引入程式,OFFICE 2003 中OWC為OWC11,預設路徑在2.1 X軸和Y軸的定義和設定
定義陣列 YearNum、MonCount分別存放年份和年度盈利額。
string[] YearNum = new string[]{“2007年”,“2008年”,“2009年”,”2010年”}; string[] MonCount = new string[]{“774824”,“1254489”,“808946”,“789845”}; 為 X 軸指定特定字串,以便顯示年度 string strXdata = String.Empty; foreach (string strData in YearNum) { strXdata += strData + "\t"; }2.9 建立系列集合 有些情況下,根據資料需求,可能需要建立系列集合,例如要繪製2007年至2010年每個季度的資料圖表,就需要建立系列集合。
這裡就需要新增多個系列
InsertChart.SeriesCollection.Add(0); InsertChart.SeriesCollection.Add(1); InsertChart.SeriesCollection.Add(2); InsertChart.SeriesCollection.Add(3); 然後給每個系列繫結資料,先定義所需的資料變數 string MonCount_1 = ""; string MonCount_2 = ""; string MonCount_3 = ""; string MonCount_4 = ""; 將資料付給變數後繫結資料 InsertChart.SeriesCollection[0].SetData(ChartDimensionsEnum.chDimValues, +(int)ChartSpecialDataSourcesEnum.chDataLiteral, MonCount_1); InsertChart.SeriesCollection[0].SetData(ChartDimensionsEnum.chDimCategories, +(int)ChartSpecialDataSourcesEnum.chDataLiteral, "2007年"); InsertChart.SeriesCollection[1].SetData(ChartDimensionsEnum.chDimValues, +(int)ChartSpecialDataSourcesEnum.chDataLiteral, MonCount_2); InsertChart.SeriesCollection[1].SetData(ChartDimensionsEnum.chDimCategories, +(int)ChartSpecialDataSourcesEnum.chDataLiteral, "2008年); InsertChart.SeriesCollection[2].SetData(ChartDimensionsEnum.chDimValues, +(int)ChartSpecialDataSourcesEnum.chDataLiteral, MonCount_3); InsertChart.SeriesCollection[2].SetData(ChartDimensionsEnum.chDimCategories, +(int)ChartSpecialDataSourcesEnum.chDataLiteral, "2009年"); InsertChart.SeriesCollection[3].SetData(ChartDimensionsEnum.chDimValues, +(int)ChartSpecialDataSourcesEnum.chDataLiteral, MonCount_4); InsertChart.SeriesCollection[3].SetData(ChartDimensionsEnum.chDimCategories, +(int)ChartSpecialDataSourcesEnum.chDataLiteral, "2010年"); 為每個季度設定不同的顏色 InsertChart.SeriesCollection[0].Caption = "第一季度盈利額(元)"; InsertChart.SeriesCollection[0].Interior.SetSolid("blue"); InsertChart.SeriesCollection[1].Caption = "第二季度盈利額(元)"; InsertChart.SeriesCollection[1].Interior.SetSolid("red"); InsertChart.SeriesCollection[2].Caption = "第三季度盈利額(元)"; InsertChart.SeriesCollection[2].Interior.SetSolid("green"); InsertChart.SeriesCollection[3].Caption = "第四季度盈利額(元)"; InsertChart.SeriesCollection[3].Interior.SetSolid("purple"); 接下來將圖表儲存為FIG圖形,顯示到頁面即可,繪製好的資料圖表如圖3所示2.10 OWC幫助 在繪製圖表時,還需要實現什麼效果或使用什麼OWC屬性,可以查閱OWC說明文件,說明文件在安裝Office之後,預設在C:\Program Files\Common Files\Microsoft Shared\Web Components\11\2052目錄中;下面有幾個*.chm檔案便是,如果沒有這幾個檔案,嘗試把Office完全安裝一下,或者自定義安裝的時候選中相應的選項。但它們是針對如何在Excel中使用,而不是在.Net或Java或Dephi中如何使用的,它只是按字母順序列出了OWC元件所有的物件、集合、方法、屬性、列舉,以及少量的示例程式碼,查詢很不方便。 3.利用OWC繪製資料圖表的優劣 因為OWC是隨Microsoft Office安裝的一款繪圖控制元件,所以方便普及,不需要專門進行下載和配置,但是與一些專業的繪圖控制元件相比,繪圖功能有所侷限,且沒有較完整的說明文件,導致繪製圖表時程式碼編寫略微複雜繁瑣。然而,由於OWC屬於Microsoft的產品,所以在同為Microsoft產品的.NET平臺下使用,有較強的相容性和穩定性。 4.結束語 本文結合日常開發實際使用經驗,參考OWC說明文件,展現出的是使用OWC控制元件繪製圖表的部分方法,足以滿足簡單的資料繪圖需求。OWC尚有諸多屬性及方法,很多尚未被很好的理解使用,可以參照本文的思路,研究更為簡潔的資料圖表繪製方法。