使用Spreadsheet Compare工具对比Excel文件差异
文章目錄
- 前言
- Spreadsheet Compare
- 命令模式
- 找到工具
- 編寫腳本
- 腳本內容
- 腳本執行
- 供給SVN調用
 
- 總結
前言
與 Spreadsheet Compare 這個工具的相遇是通過 TortoiseSVN 來牽線的,在使用 SVN 管理 Excel 表格時發現,TortoiseSVN自帶的比較工具不能對比Excel文件的版本差異,這對于通過日志查找問題來說非常不方便,通過搜索發現了 Spreadsheet Compare 這款優秀的工具,特此記錄一下,方便日后查找并快速配置。
Spreadsheet Compare
Spreadsheet Compare 是 Microsoft Office 自帶的一款工具軟件(2013版本以后),可以用來比較不同 Excel 表格的差異,既能顯示數據的不同,也可以顯示出表結構的不同。這是一款帶界面的工具軟件,布局分為左右兩部分,與 Beyond Compare 這個工具界面類似,但是功能更加強大。
Beyond Compare 也可以用來對比表格差異,但是只能比較兩個Excel的當前工作表,如果每個 Excel 文件中包含多個工作表時就會對比錯誤的情況,而 Spreadsheet Compare 在這一點上更加優秀,可以對比多個表格數據。
Spreadsheet Compare 使用起來也非常簡單,可以操作的按鈕很少,界面簡潔, 啟動軟件后單擊左上角的 Compare Files 按鈕,選擇要對比的文件即可,非常方便,數據差異、結構差異等都會用不同的顏色標記出來,還可以導出對比結果。
命令模式
這種模式對于是提供給 TortoiseSVN 使用的前提,因為 TortoiseSVN 無法像人一樣一步步操作選擇待比較的 Excel 表格,而是需要一個命令腳本,將要比較的參數傳給 Spreadsheet Compare 工具進而完成比較工作。
找到工具
想要編寫命令腳本,首先要找到這個比較的工具,我找到的路徑是在 "C:\Program Files (x86)\Microsoft Office\Root\Office16\DCF\SPREADSHEETCOMPARE.EXE",相信大家的路徑都差不多,在 Office 工具目錄下應該就能找到了,可以在開始菜單中找到工具,然后通過屬性找到可執行程序所在目錄,工具的可執行文件名字叫做 SPREADSHEETCOMPARE.EXE。
編寫腳本
編寫腳本之前有一點需要強調一下,SPREADSHEETCOMPARE.EXE 有點奇怪,大多數軟件在比較差異的時候會將兩個文件作為參數使用,但是 SPREADSHEETCOMPARE.EXE 在比較之前,需要將兩個待比較的文件名分成兩行寫入一個文件,再將這個文件作為參數傳給工具使用,比如要比較 ExcelA.xlsx 和 ExcelB.xlsx 兩個文件,需要將兩個文件寫入一個臨時文件 ExcelCompare.txt 中:
ExcelA.xlsx
 ExcelB.xlsx
然后再把這個文件作為參數傳給工具:
SPREADSHEETCOMPARE.EXE ExcelCompare.txt腳本內容
有了上面的說明,我們就可以寫出一個較為通用的版本,比如我的腳本名字是 SC.bat,內容如下:
@echo off chcp 65001set batpath=%~dp0 echo %~1> "%batpath%ExcelCompare.txt" echo %~2>> "%batpath%ExcelCompare.txt" "C:\\Program Files (x86)\\Microsoft Office\\Root\\Office16\\DCF\\SPREADSHEETCOMPARE.EXE" "%batpath%ExcelCompare.txt"腳本執行
直接在 cmd 命令行中輸入以下命令就可以對比 ExcelA.xlsx 和 ExcelB.xlsx 兩個文件了:
D:\data\bat> D:\data\bat>SC.bat ExcelA.xlsx ExcelB.xlsx供給SVN調用
個人比較懶,不喜歡截圖,在 TortoiseSVN 工具的設置中找到“差異查看器”選項,選擇該選項然后點擊界面上的高級設置,點擊增加按鈕,增加根據擴展名指定差異比較程序,填寫 .xlsx 和所需命令 D:\data\bat>SC.bat %base %mine
命令中的 %base 和 %mine 參數是 TortoiseSVN 提供的,代表原始文件和自己修改的文件,這次再通過 SVN 查看表格差異就可以啟動 Spreadsheet Compare 程序方便地查看兩個表格的差異啦。
總結
- Spreadsheet Compare 是一款強大的表格比較工具,在表格比較時比 Beyond Compare 還要優秀
- 腳本調用 SPREADSHEETCOMPARE.EXE 程序時參數是一個包含了待比較文件名的臨時文件,這一點和其他的比較工具有些不同
- 腳本中我們生成的臨時文件無需手動處理,在打開待比較文件后會自動刪除
==>> 反爬鏈接,請勿點擊,原地爆炸,概不負責!<<==
急需找到一個看得見摸得著的目標為之努力,不然真的有點止步不前了,至今還未找到可以廢寢忘食之事,長此以往終將碌碌無為,繼續找尋,此事可以不偉大,但應該有趣~
總結
以上是生活随笔為你收集整理的使用Spreadsheet Compare工具对比Excel文件差异的全部內容,希望文章能夠幫你解決所遇到的問題。
 
                            
                        - 上一篇: Java中内存分配
- 下一篇: strtok函数详解
