劉仕華
(滇西科技師范學院 云南省臨滄市 677000)
圖1:Excel 文件比較的示例圖
在辦公自動化迅速發(fā)展的今天,所有辦公人員已離不開Excel文件,經常需要頻繁的比較多個Excel 文件,找出數(shù)據(jù)的差異,傳統(tǒng)的Excel 文件比較方法工作量大、耗時多、易出錯等。故為提高高校辦公人員的辦事效率,簡化Excel 文件比較的復雜操作,開發(fā)Excel 文件比較系統(tǒng)具有重要意義。
本文以高校招生錄取過程中為例,在當前錄取批次結束后,錄取系統(tǒng)中導出的數(shù)據(jù)均為已錄取的所有錄取批次的匯總數(shù)據(jù),無法直接導出當前錄取批次的錄取數(shù)據(jù),而在當前錄取批次錄取結束后招生部門需要處理當前錄取批次的錄取數(shù)據(jù),用于打印錄取通知書、發(fā)送錄取數(shù)據(jù)到各院系、將錄取數(shù)據(jù)導入錄取查詢系統(tǒng)中等。
這種方法適用于僅會Excel 基本操作的辦公人員,且數(shù)據(jù)量少的情況,如100 行數(shù)據(jù)以內。首先需要先分別對需要比較的2 個Excel 文件進行相同條件的數(shù)據(jù)排序,然后依靠人眼一行一行的去查找差異,對于數(shù)據(jù)較多的情況下,這種方法工作量大,耗時多,易出錯。
使用vlookup 進行數(shù)據(jù)比較的前提是需要比較的2 個Excel 文件的關聯(lián)列都必須是唯一,如圖1 中的學號就是唯一的。在圖1 中表1的“表2中是否有此人”單元格中輸入公式“=VLOOKUP(A:A,[表2.xls]新生學生信息!$A:$A,1,FALSE)”,并將該公式應用到所有行,同理,在表2 中的“表1 中是否有此人”單元格中輸入公式“=VLOOKUP(A:A,[表1.xls]新生學生信息!$A:$A,1,FALSE)”,并將該公式應用到所有行。如有結果顯示為“#N/A”,就是2 個Excel 文件的差異,然后可以通過數(shù)據(jù)篩選功能分別把差異數(shù)據(jù)放到新的Excel 文件中。
圖2:系統(tǒng)流程
使用vlookup 方法進行比較,如關聯(lián)列不是唯一數(shù)據(jù),無法直接進行關聯(lián),需要先將多列合并為唯一數(shù)據(jù)列,然后才能使用vlookup 進行關聯(lián),對于數(shù)據(jù)較多的情況下,合并后的多列還是無法保證為唯一數(shù)據(jù)且無法簡單的發(fā)現(xiàn)。同時,不是所有的辦公人員都精通vlookup 高級函數(shù)的應用。
軟件流程如圖2 所示:
圖3:Excel 文件比較系統(tǒng)界面
(1)導入需要比較的Excel 文件;
(2)選擇需要比較的工作表;
(3)選擇需要比較的數(shù)據(jù)列,默認為所有列比較;
(4)數(shù)據(jù)比較;
(5)導出相同、差異數(shù)據(jù)到Excel。
Excel 文件比較系統(tǒng)主要用于比較兩個Excel 文件的相同和不同數(shù)據(jù),比較的兩個表的表結構默認必須一致,如不一致,系統(tǒng)將會提示哪些列不一致,如果某張表中無比較列,也可右鍵另一張表的該列進行刪除該列操作。點擊比較后,系統(tǒng)將比較后的結果分別顯示在相應數(shù)據(jù)表中,同時可以將結果導出到Excel 文件中,Excel文件比較系統(tǒng)的界面如圖3 所示。
Excel 文件比較系統(tǒng)中比較兩個數(shù)據(jù)表的核心代碼如下:
本文通過C#編程語言,實現(xiàn)了Excel 文件比較系統(tǒng),大幅度減少了文件比較的工作量,提高了工作效率,為高校的各項管理工作提供了較強的技術支持。