張晶瑩
摘要:長期以來網頁圖形繪制技術大多采用Java或者動態圖像技術進行網頁圖形展示,本文對多種圖形的繪制方法進行對比后,重點介紹了使用Owc.chart的格式及其優點。它能更簡單快捷的繪制二維圖表(如折線圖、柱形圖、股價圖等)和極坐標圖表(如餅圖和雷達圖),并支持組合圖表,如兩軸線-柱圖,數據表會隨同圖表發布,圖表隨著數據的變化而改變。通過在物資價格審核管理系統應用這一技術,加快了網頁圖形的編程效率和提高圖形信息的共享程度。
關鍵詞:Owc chart組件繪制圖表
1、引言
傳統上在瀏覽器中表現圖形多數采用三種方式:服務器端GDI+圖形繪制、瀏覽器端JavaApplet繪圖窗口、用例如SVG或FLASH等插件繪制圖形。雖然上述幾種方式機制各不相同,但是都需要開發人員手工編程,逐條繪制圖表中的各元素,一條線一個點的修改往往也需要一條編程語句去執行。對技術人員的編程要求較高,工作效率較低。而在油田生產開發中,需要對大批量的生產數據進行分析比較,在這種情況下應用了Owc.chart這一組件,它能直接傳入數據,通過控件直接繪制圖表,減少了編程人員工作量,提高工作效率,使以往需要投入大量人員精力的煩瑣的繪圖工作得到改善。
2、Owc.chart技術研究
OWC(Microsoft Office Web Components)是 Microsoft Office 使用的數據綁定 ActiveX 控件,它為在Web中繪制圖形提供了靈活的同時也是最基本的機制。它是一套組件對象模型主要包含電子表格、圖表、數據透視表等4個組件。這些組件在服務器端提供了與Office功能相關的對象模型,開發人員可以對其中相關的類進行編程控制,如可以進行單元格的數據填寫、格式的定義等操作,從而生成Office兼容的各種表格和圖表等內容,形成高質量的結果展示。
Owc.chart支持Microsoft Excel 中大部分的二維圖表(如折線圖、柱形圖、股價圖等)和極坐標圖表(如餅圖和雷達圖),并支持組合圖表, 有了OWC.chart,我們可以在服務器上動態創建一個圖表,然后將圖表以GIF圖形的形式發送到客戶端。客戶端看到的僅僅是一個普通的圖形文件,但在“背后”,圖形文件實際上是由服務器上ASP.NET回應客戶請求時動態生成的。因此,這種技術對客戶端沒有特殊的要求,只要能夠顯示GIF圖形就可以了,即使Netscape和Opera也不存在任何問題。
3、Owc.chart應用
我們在物資價格審核管理系統的開發過程中應用了這一技術。制作需要提供給客戶的各類統計圖表,實現系統中物資計劃對比功能。
以下是繪制電瓶原液YG-1KG價格走勢圖的部分核心代碼:
'創建ChartSpace對象來放置圖表
Dim objCSpace As New OWC11.ChartSpaceClass
'在ChartSpace對象中添加圖表,Add方法返回chart對象
Dim objChart As OWC11.ChChart = objCSpace.Charts.Add(0)
'指定圖表的類型。類型由OWC.ChartChartTypeEnum枚舉值得到
objChart.Type = OWC11.ChartChartTypeEnum.chChartTypeColumnClustered '折線圖
'給定標題
objChart.HasTitle = True
objChart.Title.Caption = "C類物資價格走勢圖(電瓶原液YG-1KG)"
'給定x,y軸的圖示說明
objChart.Axes(0).HasTitle = True
objChart.Axes(0).Title.Caption = "Y 軸: 價格(元/米)"
objChart.Axes(1).HasTitle = True
objChart.Axes(1).Title.Caption = "X 軸:日期(年月)"
'計算數據
在代碼中我們可以看出,要繪制一張圖表,只需完成三步。第一步,定義繪圖組件,包括創建圖表。第二步定義文字說明,包括給定標題,設置XY軸坐標。第三步定義數據,從數據庫中引入數據,完成繪制圖形。僅需要這三步,我們就可以完成一張圖表的繪制工作,不用去考慮一些細節上坐標的定點問題。根據以上代碼我們還可以繪制曲線圖、柱狀圖、柱狀圖、面積圖、雷達圖等各種圖表,僅僅只需更改一個參數,非常簡單便捷,易于操作。
4、結語
Owc.chart這一繪圖插件脫離了以前JAVA繪圖,GDI+繪圖還需要一筆一劃繪制的煩瑣方式。更改數據時,只需要在數據庫中進行修改,所需圖形便自動繪制完成。如需更改所要圖形種類,則只用改動參數即能在WED頁面上更簡潔直觀的顯示出所需要的圖形。而JAVA繪圖等還需對圖形格式,排版等進行逐一調整。但是Owc.chart也具有一定的缺點,即不能隨意繪制圖形。在JAVA等繪圖方式中,我們可隨意繪制圖形,例如生物等不規則圖形。而Owc.chart則只可以繪制一般的規則的曲線圖、折線圖等各種圖表,這就使Owc.chart產生了一定的局限性。
在油田生產中,需要提供的圖表正是規則的曲線圖、折線圖、柱狀圖、面積圖、雷達圖等各種圖表,恰恰能滿足油田生產的需要。這就使Owc.chart的局限性變成了在油田應用中的優勢。正是如此,Owc.chart的應用能為油田生產效率的提高提供了必要的保證。
參考文獻
[1]Dave Stearns編著.office2000編程技術內幕.北京希望電子出版社,2006年5月.
[2]譚建偉.OFFICE 2007基礎教程.人民郵電出版社,2008年06月01.