Programming Microsoft Office 2000 Web Components第一章第一節

來源:互聯網
上載者:User
Office Web Components是什麼?

Office Web Components是一組的COM控制項,設計的目的是為眾多的控制項容器提供互動的試算表建模,資料報表和資料視覺效果功能。OWC庫包含四個主要的組件:工作表元件,圖表組件,透視表組件和資料來源組件。我們將在這一節中簡要論述每個控制項,然後在後續各章中討論更多細節。

注釋:

COM也被稱作ActiveX。當微軟發明了術語”ActiveX”來描述COM技術時,我正在Visual Basic小組,這個術語使得我們絕大部分的客戶大吃一驚,因為這些客戶在我們停止使用術語”OLE”後剛剛習慣於使用術語COM。我不是市場人員,所以本書中我只使用術語COM來描述元件物件模型技術。

“Office Web Components”名稱中的單詞”Office”表示這些控制項就是由那些開發微軟Excel和Access的程式員中的一部分人開發的,並且這些控制項被設計成在外觀,使用感受和行為表現上就像是他們的微軟Office兄弟的精簡版一樣。這些控制項確實不包含Excel和Access中的所有的功能——換句話說,您也不會為了在瀏覽器中查看一個報表而動態下載完整的Excel和Access!然而,這些控制項也確實包含了許多的常用功能,尤其是那些在與已有內容進行互動時所必需的功能。此外,這些控制項還能夠讀寫Excel 2000的HTML格式的檔案,允許使用者點擊一個按鈕,將當前的資料載入到Excel中,以便作更加強大的分析。本書中,我會詳細描述這些被每個組件支援和不支援的Excel和Access的顯著特性。也會向您展示如何利用自己的代碼來添加一些這些控制項所缺少的功能。

OWC名稱中的”Web”部分經常使人誤解。這些控制項是標準的COM控制項,並能夠在許多的控制項容器中使用,例如微軟Internet Explorer,微軟Visual Basic,微軟Visual C++,微軟Visual FoxPro和微軟Office使用者表單。然而,這些控制項的一些行為使它們尤其適合於在Internet Explorer的特殊環境中使用。例如,WEB瀏覽器為文檔提供自動的捲軸,但是人們經常會為頁面中內建一組捲軸的控制項而煩惱。試算表控制項和資料透視控制項能夠通過設定,自動調整大小來適合它們當前的內容,而不需要內部捲軸。此外,所有的控制項都支援在Internet Explorer中可用的顏色名稱,還支援數字RGB值。這就意味著您可以使用”CornSilk”或者”PapayaWhip”(我個人的愛好)元素來設定背景顏色,控制項會象Internet Explorer那樣將色彩轉換成適當的RGB值。

OWC名稱中的”Components”部分雖然比使用單詞”Controls”要準確的多(儘管在這本書中我會為了方便將OWC稱為”controls”),但是也令人相當迷惑。Office Web Components的與眾不同之處在於,他們能夠在類似web頁面,Visual Basic表單等等控制項容器中使用,也能象不可視對象那樣在記憶體中被使用。大部分的COM控制項只能在控制項容器中被用作可視控制項,而大部分的不可視對象,例如那些通過微軟ADO介面訪問的對象,只能在記憶體中使用而不能放在表單或web頁面中。OWC庫設計的目的是可以通過任何一種方式來使用。這使得您能夠通過它們暴露的使用者介面來使用這些控制項或者使用這些控制項的各種後台服務,例如試算表的重新計算功能。這種能夠以不可見對象的方式來使用的能力,也使您能夠在伺服器上用這些庫方便地產生可以在任何web瀏覽器中查看的靜態內容 (在這一章的後面會更多的講到這方面的內容)。

所有控制項都支援一組豐富的編程介面,這些介面能夠在微軟VBScript(Visual Basic的指令碼版本),微軟Jscript,微軟VBA(Visual Basic for Application),Java,C++以及任何其它能夠調用雙COM介面或調度COM介面的語言中調用。這意味這您可以將這些組件添加到定製的解決方案中,並根據您的需要設計它們的外觀和行為。我將在後續章節中討論這些組件大部分的重要屬性,方法和事件,並在這些章節中通過講述各種解決方案來講述這些重要內容中的絕大部分,這些解決方案可以在本書附贈的CD中找到。

參見

如果您正在尋找關於COM技術的權威的指南,我建議您選讀David Chappell的《Understanding ActiveX and OLE(Microsoft Press,1996)》一書。

讓我們瀏覽一下每一個組件,並討論我們能夠使用它們來建立哪些類型的解決方案。之前已經提到過了,後面的四章將會更加深入的討論每一個控制項。

工作表元件

工作表元件(1-1所示)象一個Excel試算表的精簡版,由一個試算表使用者介面和一個重算引擎組成,支援Excel 2000中幾乎所有的計算功能。使用這個控制項,您可以改變和重新計算數值;排序,過濾和滾動資料;保護單元不被修改;甚至可以將資料重新裝載到Excel 2000中,以進行進一步的處理。試算表控制項能夠從傳入的參數中或從指向HTML格式的Excel試算表檔案的任何URL處裝入資料。

圖1—1 工作表元件

當您要在企業內部互連網上建立一個有效試算表模型,以便其他人能夠修改輸入值,並立刻看到重新計算的結果時,試算表控制項是很有用的。例如抵押計算機和償還進度表模型,產品收支平衡模型,和銷售趨勢預測表。

對於任何類型的交叉表或基於表格的資料輸入,尤其是當您需要使用有自動重算功能的公式時,這個控制項也是很有用的。例如成本報表,事件表和預算報表。

試算表控制項能夠將單元綁定到在頁面上的其它對象的屬性上,然後當資料來源表明屬性值改變時自動地更新單元以及和單元相關聯的其它單元。這使得可以在試算表中為一些特定的環境提供即時資料,例如股票組合。

為了實現即使當您在正在工作的試算表中編輯其它的公式或者正在為其它的單元設定格式時,試算表也能夠繼續監視新的資料並且重新計算,試算表控制項做了專門的設計。

圖表組件

圖表組件(1-2所示)可以說是Excel圖表的一個精簡版,它支援Excel2000中的大部分平面圖表類型,例如Polar圖表類型。圖表組件的另一個重要的特徵是能夠立刻顯示多個圖形,從而允許您建立一個小型多重設計——換句話說,根據某一屬性變化的一系列圖形可以立刻進行比較。一個圖表可以和試算表控制項,資料透視控制項或者一個ADO的Recordset對象進行資料繫結,或者使用原始的資料來填充。當綁定到一個資料來源上時,無論何時資料來源發生變化圖表控制項都會更新。

參見

如果需要瞭解小型多重設計的威力的更多資訊,請看Edward Tufte的書《Envisioning Information (Graphics Press, 1990)》。

圖1-2 圖表組件

當需要用圖表來表示動態資料或監視對你的業務而言非常重要的元素時。圖表控制項會相當的有用。因為它提供豐富的編程模型,所以也能利用這個控制項向圖表中添加許多種效果,例如在座標軸的最大範圍上縮放和平移,根據滑鼠的位置在應用程式中動態地改變圖表的內容,或者讓使用者雙擊一個連結,轉到顯示所選擇的資料點的更多資訊的新頁面。

資料透視組件

資料透視組件(1-3所示),是為了提供互動的資料報表和分析功能而設計的,它能提供Excel樞紐分析表的所有功能和各種外部資料類型。它能通過OLE DB從表格,和關聯式資料庫中提取資料,也能通過OLE DB從OLAP伺服器的cube和cube檔案中為OLAP提取資料。使用這個控制項,您能夠對資料進行各種方式的分組,切片和排序並查看,在動態資料上建立優美的報表和互動分析功能。

雖然它最適用於資料報表和資料分析解決方案,但您可以在很多任務中使用這個控制項,當被綁定到一個OLAP cube上時,資料透視控制項能夠給使用者提供一個靈活,高效的分析介面。IT機構能夠集中精力根據他們公司對資料的理解來收集和整理資料,並將資料裝入cube中,而操作這個控制項的使用者則能夠根據自己需求來對資料進行切片。

圖1-3 樞紐分析表

資料透視報表也能直接在關聯式資料庫上完成同樣的工作,因此即使您在OLAP系統上沒有投資,您也能夠使用這個控制項。然而,使用OLAP資料來源的效能總是要快的多,原因在於這項技術的本質。OLAP還有其它邏輯上的好處,我們將在第七章中探討銷售分析和報表解決方式時深入的討論它。

資料來源組件

資料來源組件(DSC)是需要從外部資料源獲得資料的控制項的骨幹架構。雖然這個控制項是不可見的,但是它被廣泛的使用於從層次(OLAP中的術語)或臨時OLAP cube中擷取和處理資料(第四章中將詳細介紹),以及在各種各樣的控制項之間建立資料關聯。既然資料來源組件和那些Internet Explorer和Visual Basic中的其它資料來源控制項一樣,支援相同的標準介面,那麼在這些環境中它就是可以互操作的。資料來源組件在Access2000的資料訪問頁特性中得到大量的使用,並且整合了許多Access報表引擎中的功能。

當其它的組件要從外部資料庫獲得資料時,幾乎都要用到資料來源組件。然而,它也支援它自己的一個編程模型,您能使用它來建立或者操作層次的Recordset對象。一般來說,您不需要過多的考慮資料來源控制項,因為其它組件和Access2000資料訪問頁設計器會為您設定和調用它。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.