金 銳,羅 璐
(長江科學院工程安全與災害防治研究所,武漢 430010)
安全監測資料整編分析報告作為大壩安全監測工作的主要成果內容,具有覆蓋內容廣,涉及數據量大的特點,通過人工進行資料整編處理和報告編制的傳統方式難以適應水利信息化的需求。隨著信息軟件技術的快速迭代發展,相關水利建設運行管理單位逐步建立了各自的資料整編分析系統,在資料整編分析報告功能上具備一定的處理能力[1],但同時也存在用戶操作復雜,編制效率不高的問題。
本文設計開發了一種基于Office AddIn 加載項技術的整編分析報告編制工具,通過在Office 辦公軟件中集成Web 網頁,將Office 辦公軟件與安全監測資料整編分析系統進行整合,實現快速動態獲取整編數據表格和過程線功能,并提供實時繪制功能,滿足用戶“所見即所得”的用戶體驗,進而提高資料整編分析報告編制的效率。
Office AddIn 是微軟公司在Office2013 版本之后,推出的一種新的Office 集成開發技術。軟件開發者基于此技術,可根據實際業務需求對Office 應用程序進行二次開發。Office二次開發不是一種新的技術,以往基于VBA語言開發的集成方案主要有COM 加載項和VSTO 加載項技術。受限于COM 和VSTO的開發難度,以及互聯網Web技術廣泛應用,OfficeAddIn的集成方案逐漸被推廣應用。
Office AddIn 技術來源于傳統的COM 集成技術,相比傳統的COM組件技術,Office AddIn加載項支持跨平臺、可集中部署、支持Web 網頁技術等優勢。通過集成Web 網頁,第三方開發用戶可利用成熟的網頁前端技術,通過開發簡潔美觀、功能多樣的UI 界面來滿足用戶的Office 文檔編寫需求。Office AddIn托管在指定的Windows服務器上,通過Windows服務器的IIS服務進行啟動,通過集中部署的方式,開發者可以輕松地對Office AddIn 進行維護和更新。
Web 數據服務器用于向Office Addin 插件提供數據接口服務,相關的接口主要有安全監測整編過程線數據、統計表格數據、統計量數據以及測點信息等。Office Addin 獲取到的數據后,通過前端Java Script腳本語言,可直接實現在Office軟件中插入過程線、統計表格以及相關統計文字的功能。
Web 數據服務器采用目前軟件開發領域的主流的Spring Boot 框架進行快速搭建,通過編寫Java程序處理業務邏輯。數據存儲方面采用Windows平臺下的SQLServer關系型數據庫,緩存方面采用Redis非關系型數據庫,提升系統響應能力。
(1)Spring Boot 框架。Spring Boot 是J2EE 應用平臺上的開源應用框架,其基于Spring進行設計,繼承了Spring 框架原有的優秀特性,設計目的用于簡化Spring 應用的初始搭建和開發過程,主要特色包括獨立的Spring 應用、內置Web 容器、自動裝配、簡化XML 配置等特性,真正做到開箱即用,使軟件開發人員更加注重業務邏輯的開發,提升開發效率,降低開發難度。
(2)SQL Server 數據庫。SQL Server 數據庫是Microsoft 公司推出的關系型數據庫管理系統,是目前商業環境下主流的數據庫之一。其支持常用的SQL 結構化語言,可以運行在幾乎所有的Windows服務器上,具有使用方便、可伸縮性好、集成性好的特點[2]。
(3)Redis緩存數據庫。Redis緩存數據庫是一個使基于C語言編寫的,開源的高性能非關系型鍵值對數據庫,與關系型數據庫不同的特點是Redis中的數據是存在系統運行內存中,讀寫速度快,被廣泛的應用在數據緩存方面,可極大地提升系統響應速度[3]。
Office AddIn 通過Windows 服務器的IIS 服務進行啟動,發布的內容分為清單文件WordWeb AddIn-Manifest.xml 和編譯后的項目源代碼文件。①清單文件控制Office AddIn 在Office 界面中工具欄窗格的顯示形式,是Office AddIn 對外顯示的一個控制入口。通過在清單文件中配置窗格圖標地址和點擊窗格后的請求地址,實現軟件界面和業務數據處理的綁定。②項目源代碼文件包含Office AddIn 的所有業務邏輯實現功能,主要包括數據接口的調用、過程線的預覽和插入、統計表格的預覽和繪制、統計文件的生成和替換等功能。
Office AddIn 的部署和發布方式主要有如下兩種形式:①網絡共享文件夾。將服務器的共享文件夾設置為受信任的目錄,然后將清單文件發布到此文件夾下,同時將項目源代碼文件托管到服務器的IIS 服務下,并啟動IIS 服務。與服務器在同一局域網內的用戶在Office軟件的“信任中心”中添加共享文件夾的地址即可完成Office AddIn 插件的安裝。此種部署方式便捷簡單,適合小范圍內的局域網用戶。②Microsoft應用商店。軟件開發人員在微軟應用商店注冊開發賬戶,將開發完成的Office AddIn源代碼程序發布到微軟應用商店,通過審核后可在Office 應用商店中使用Office AddIn 插件。此種方式適用于商用非涉密領域,審核流程繁瑣。
考慮到安全監測數據的安全性和保密性,本文Office Add In 插件部署采用局域網內共享文件夾的形式。Office AddIn 官方開發文檔中提供了關于處理圖形和繪制表格的相關方法,通過調用相關的API,開發者可以非常容易的實現在Office軟件中直接插入圖片、數據表格和文字等相關操作。Web數據服務器作為數據接口服務,負責為Office AddIn提供基礎的圖片、數據表格、統計文字等基本信息。通過Spring Boot 內置的Web 服務器進行打包部署并啟動服務,IIS 服務器和Web 數據服務器通過HTTP協議進行數據交互。
白鶴灘水電站是當今世界單機容量最大、綜合技術難度最高的水電工程,其安裝埋設的各類監測儀器50多種,總監測儀器數量達1.5萬只(個)[4]。為更好地發揮大型水電站的安全監測作用,三峽建設單位組織專業技術人員成立綜合安全監測中心,負責白鶴灘水電站的安全監測工作。安全監測資料整編分析報告作為安全監測工作的重要內容,受到了綜合監測中心管理人員的重視。
本文論述的Office AddIn 加載項技術在安全監測資料整編分析報告中的應用,立足于白鶴灘監測中心管理人員的實際工作需求,定制開發出一套安全監測資料整編分析報告輔助編制工具,用于提升管理人員的報告編制效率。相比于以往的整編分析報告編制方式,通過Office AddIn 插件進行整編分析報告編制具有以下特點:
(1)實時預覽。針對整編分析報告中過程線、統計表格和統計文字這三類統計信息進行分類管理,并提供實時預覽功能。當用戶需要在整編分析報告中插入某個統計信息時,通過選定時間范圍,點擊預覽可在Office 界面中彈出選擇的數據過程線、統計表格或者統計文字信息,用戶確認無誤后可直接在Office 文檔的指定位置插入該統計信息,真正實現“所見即所得”的操作體驗。
(2)操作便捷。以往在編制整編分析報告時,傳統的方式有通過Excel 先繪制出統計表格和數據過程線,然后將繪制完成的表格和圖形信息復制到整編分析報告中,此種方式費時費力,報告編制效率低。部分有條件的安全監測管理單位,通過建設單獨的安全監測資料整編分析系統對整編分析數據進行管理,可以比較方便地獲取到整編分析報告中的統計表格、整編過程線和統計文字信息等,然后從系統中將對應的統計信息復制到整編分析報告中。Office AddIn插件的集成應用,則進一步優化整編分析報告的制作流程,通過將安全監測資料整編分析系統的數據直接集成到Office 軟件中,省去用戶編制報告時繁瑣的切換操作和數據查找過程,從而簡化操作,提高報告編制效率。
本文論述的Office AddIn 加載項技術在安全監測資料整編分析報告中的應用,通過在Office 軟件中集成Web 網頁的形式,實現了通過Office 軟件快速添加過程線、數據表格和統計文字的功能,增強了安全監測資料整編分析報告系統的實用性,降低了整編分析報告編制難度,提高了報告編制效率。該技術的應用為安全監測資料整編分析報告提供了新的思路和方向,具有一定的借鑒意義。