潘旭輝

摘 要:為了解決部分縣級計量所以Word郵件合并功能批量打印證書后產生的數據統計問題,文章利用VB.NET程序語言設計了一種軟件工具,可以把大量的Excel文件進行合并后導入數據庫,實現計量檢定數據的快速查詢和統計,有利于縣級計量所當前面臨任務重、經費少和人力資源不足的現狀下提高數據統計的工作效率和節約人力資源。
關鍵詞:計量 Excel合并 數據統計 VB.NET
中圖分類號:TP311.52 文獻標識碼:A 文章編號:1674-098X(2016)03(c)-0085-02
1 設計背景
縣級計量測試所承擔著本地區量值傳遞、保障計量單位的統一和量值準確可靠,執行強制檢定和法律規定的其他檢定、測試任務,為計量行政部門依法實施計量監督,提供技術保證,是國家計量體系重要的支點。在支持經濟社會發展的過程中,發揮了越來越重要的作用,同時也表現出自身的一些不足:檢定人員少,人力資源不足;科技研發能力弱;計量器具檢定任務重;財政經費有限。很多縣級計量測試所沒有能力去開發計量管理軟件系統,同時也沒有能力去購買一套價格不菲的計量管理軟件并承擔軟件后續的升級支持費用。證書打印還只能依靠Word的郵件合并功能進行批量打印,給后續的數據統計帶來很大的問題。人工的方式進行統計,不僅耗時耗力,結果還不準確。設計一種計量數據統計工具,對于提高縣級所的數據統計能力、節約人力資源有著非常大的意義。
2 設計方法
首先要對利用Word的郵件合并功能批量打印證書的程序進行了解。Word郵件合并方式批量打印證書的步驟一般是先建立Excel表格,將檢定證書所需的信息以二維表格的形式輸入;然后創建一個新的Word,設計證書的版面,切換到郵件合并選項,選擇建立的Excel文件,將文件中的要素插到Word指定的位置,完成合并后,Word中就會呈現證書內容;最后開始批量打印。建立的Excel表格就是該設計要針對的目標數據。對一個縣級所,一年可能有上千或數千個Excel表格數據。
設計的第一步是建立數據庫,文章的設計思路是把批量的Excel數據表合并為一個表,再導入數據庫,完成數據庫的建立。第二步是在建好數據庫的基礎上,設計查詢功能,使用者可以以檢定證書各要素為選項進行搜索,呈現搜索后的數據,同時自動統計縣級所經常需要的服務企業的數量和檢定的計量器具的數量。
設計的軟件工具選擇為VB.NET,它是基于微軟.NET Framework之上的面向對象的編程語言,可以方便地對Excel和數據庫進行操作。集成開發環境為Visual Studio 2010。
3 設計實現
3.1 建立數據庫
此步驟依次由選擇合并文件夾、合并Excel表格、整理合并后表格、連接數據庫、執行復制操作、更新數據庫組成。
3.1.1 選擇合并文件夾
類庫中的FolderBrowserDialog類提供了一種方法,它提示用戶瀏覽并最終選擇一個文件夾。利用它的SelectedPath方法獲取用戶選擇的文件夾的路徑。
使用類庫中的Directoryinfo類,此類主要用于創建、移動和枚舉目錄和子目錄。利用它的GetFiles方法獲取選擇的文件夾下的Excel文件名稱。
3.1.2 合并Excel文件
從獲取的第一個Excel文件開始,一直到最后一個Excel文件依次執行下列程序。
(1)打開文件,獲取文件焦點,確定該文件的數據總行數。默認連續3行C列(列名:送檢單位)出現空值為數據行結束信號。
(2)考慮Excel文件實際列數不超過16列,故默認數據列數為16列,復制區域(A1:P總行數)內數據,執行復制操作。WorkSheet2.Range("A1:P" & sum).Copy()
(3)新Excel文件打開,獲取焦點,執行粘貼操作。
WorkSheet1.Range("A" & sum1 & ":P" & sum + sum1).PasteSpecial()
(4)合并結束后,保存并顯示合并的文件數量,然后釋放資源。
3.1.3 檢查、調整合并后的Excel表格
打開合并后的文件,統一格式,排序去除各個文件原來的標題行。
每個Excel文件都有相同的標題行,合并后就會出現大量的標題行,如果不去除,標題行將作為數據存入數據庫。
3.1.4 連接數據庫
設置好ADO.NET的連接字符串和SQL查詢語句,連接數據庫并執行ADO.NET對象DataAdapter的填充命令,在內存中建立兩個虛表Table1和Table2,分別對應Access數據庫中的表和合并后的Excel表格。
3.1.5 執行復制操作
遍歷Tabel2,分別把Table2的每一項數據傳遞到Table1。
MyRow = MyTable1.NewRow()
MyRow("號") = MyTable2.Rows(i)("號")
MyRow("送檢單位") = MyTable2.Rows(i)("送檢單位")
……………
3.1.6 更新數據庫
DataAdapter的Update命令更新Access數據庫,同時釋放占用的資源。
3.2 設計查詢功能
查詢功能分為兩個部分,可以查詢此次合并數據和歷史數據。查詢此次數據時,數據庫連接合并后的Excel文件,查詢歷史數據時,數據庫連接Access數據庫。以檢定證書的要素如證書號、送檢單位、計量器具名稱等為搜索項,可以設定搜索起始日期。
ComboBox控件適用于建議用戶選擇控件所列舉的選項,在該控件的下拉選項中輸入證書要素。TextBox控件用于輸入搜索內容,MonthCalendar控件用于選擇起始日期。
用戶輸入搜索內容,選定起始日期后,執行搜索命令,搜索結果以證書號增序排列,同時顯示搜索結果信息,查詢結果如圖1所示。
4 結語
該文設計的這種軟件工具,可以高效地解決以Word的郵件合并功能批量打印證書后計量數據統計的問題。在當下很多縣級計量所計量管理自動化水平不高,證書打印還停留在Word郵件合并方式,打印證書后存在計量數據統計問題的背景下,對縣級所提高數據統計能力,節約人力資源具有很大的意義。
參考文獻
[1] 魏崢,Visual Basic.NET程序設計教程[M].北京:清華大學出版社,2005.