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