摘 要:介紹了智能文檔的概念以及什么是VSTO開發技術;重點論述了基于VSTO的智能文檔技術在試油地質設計中的應用,用戶可在熟悉的Office界面中與企業數據庫關聯交互,實現方案的智能化生成,大大減少了數據查詢、數據計算、文檔編輯工作量,確保了方案設計的質量與效率;最后,展望了VSTO技術在企業應用中的前景。
關鍵詞:智能文檔VSTO試油地質設計
中圖分類號:TP2文獻標識碼:A文章編號:1674-098X(2011)08(b)-0104-01
Microsoft Office是微軟公司開發的一套基于Windows操作系統的辦公軟件套裝。常用組件有Word、Excel、Access、Powerpoint、FrontPage等。
試油地質設計方案生成的傳統方法是將分布零散的各相關數據手工進行查找,匯總計算,錄入編輯。這種操作模式缺乏電子文檔與數據庫間信息交互的自動化;缺乏對數據格式的規范統一;缺乏文檔編輯格式的控制;同時增加了設計人員的工作負荷;延長了設計時間。
本文提出了一種基于VSTO的智能文檔技術,實現試油地質設計方案的智能化生成,以提高工作效率與質量。
1 智能文檔概述
智能文檔發起了一場對傳統文檔和信息系統的革命。它是結構化數據和非結構化數據的綜合體,通過嵌入業務邏輯使文檔具有一定的智能。智能文檔在原有文檔的基礎上提供了更加強大的交互功能,它可以直接在文檔中與后臺的業務處理系統打交道。業務類型主要以Word或者Excel文檔作為載體,直接與數據庫或業務系統實時動態交互,而不是另外編寫一套應用,讓它具備排版、打印、數據表計算等功能。
試油地質設計方案具有統一的Word文檔標準模板;大量數據信息取自企業數據庫;對數據的計算處理方法相同;對格式、排版要求嚴格。以上特點決定了試油地質設計智能文檔結合VSTO、XML表述語言和.NET語言,在Word 2007的基礎上實現試油地質設計方案的快速生成。
2 VSTO技術
長期以來,對于Office解決方案的開發都是使用VBA(Visual Basic for applications)來實現。雖然VBA易于使用,但卻存在用戶界面、布署、功能實現和安全性等方面的限制。
VSTO(Visual Studio Tools for the Microsoft Office System)是基于.NET Framework的Office開發技術。VSTO將Word文檔或Excel文檔轉換成了能夠進行編程的.NET類,使他們成為具有數據綁定功能的控件,我們可以像處理Windows Forms控件和其他.NET特征那樣對其進行編碼。可以說VSTO是VBA技術的.NET平臺化。無論你是創建簡單的數據錄入應用程序還是復雜的企業解決方案,VSTO都使之變得容易。
3 解決方案實現
3.1 開發
3.1.1 新建項目
啟動visual Studio 2008,在新建項目中選擇“Word 2007文檔”,并輸入解決方案名稱及保存位置,在彈出的對話框中選擇“創建新文檔”。
3.1.2 編輯項目
進入后可以看到Word文檔設計器,在此進行界面與功能設計:
①試油地質設計具有統一格式的標準模板,包含以下內容:封面、目錄、頁眉頁腳、多級標題、正文段落、表格、圖片等。將模板拷貝到此,保持其格式。
②添加Bookmark宿主控件。本解決方案采取的主要設計思想為:將查找計算出的數據結果由智能文檔自動替換到模板相應位置。為此將使用一定數量的Bookmark控件,設置到模板中需要替換內容的位置,應用其Text()屬性進行內容替換。
③表格處理。試油地質設計方案中所有表格格式固定。導入模板時,只留表頭。遇到表格,文檔將根據取出的數據進行分析判斷,進行表格行的添加、單元格定位、單元格合并、內容替換等操作,并在程序中進行格式的設置,如數據居中顯示、行高、列寬等。
④任務窗格的設置。我們將文檔與數據庫的交互功能全部放到任務窗格來實現。根據試油地質設計數據的來源、分類、數據間的關系等性質將它們共分為16大類。在任務窗格中依次分塊實現各類數據的存取與處理。例如:試油井基礎數據,在任務窗格中的Textbox中輸入此次設計的試油井井號、所屬油田區塊、試油層代碼等需要用戶確定的數據項,點擊“提交”按鈕,文檔根據以上基本信息到企業數據庫中進行查詢,將所有能夠查找到的相關數據信息取出,進行相應替換操作。
3.2 安全與部署
VSTO本身沒有添加安全性功能,但由于你用Visual Studio來定制Office應用程序,你可以使用.NET Framework的所有安全特性。VSTO使用.NET Framework的代碼訪問安全(Code Access Security,CAS)功能,默認是安全的,這意味著如果沒有給予特定的權限,則代碼不會運行。VSTO的另一個關鍵的安全設計原則是,文檔沒有包含代碼。這使得宏病毒很難傳播。
VSTO之所以兼具方便與高效的特性,正是因為它將代碼文件寫入dll中,將dll與Word文檔的關聯用一定形式隱藏起來。以此作為VSTO的最終體現形式為docx文件和dll文件,在部署程序時需要將兩個文件都部署到用戶機器上,其中用戶使用docx文件,該文件在打開時會自動調用dll文件。
VSTO支持若干概念上的部署模型,它們可以定義為本地/本地、本地/遠程和遠程/遠程。這里我們采用本地/遠程模型,這也是最常見的部署模型。文檔的副本在本地機器上,而程序集則是在服務器上。
4 結語
基于VSTO的試油地質設計方案的智能化實現,對試油地質設計來說是一次全新的嘗試,改變了試油地質設計以往的工作方式。使用VSTO不僅可以獲得.NET框架的強大功能和較高的生產率,還能獲得Office系統的擴展性和編程能力。使辦公軟件與企業信息管理系統真正結合起來。在企業信息化的進程中,將會越來越多的面臨此種需求,基于VSTO的智能文檔技術具有廣闊的發展前景。
參考文獻
[1]李永倫譯.Kathleen McGrathPaul Stubbs著.VSTO開發者指南.機械工業出版社,2009.
[2]Alvin Bruney著.Professional VSTO 2005:Visual Studio 2005 Tools for Office.吉林長白山出版社,2007.
[3]王永,羅龍艷,杜茂康,羅文龍,等,譯.Eric CarterEric Lippert著.VSTO開發者指南.電子工業出版社,2008.