【缘起:此前找了一通,没有找到免费又好用的Excel比对工具,而ExcelBDD需要把Excel文件存放到Git,因此迫切需要Excel比对工具。
最新升级到V1.3.3,因为git diff有变化,原来是git diff会修改文件名,现在不改了,导致老版DiffExcel失效】
DiffExcel is an open-source and text-based tool to compare Excel, it supports Git diff.
It looks like the below:
Pre-Requirement
- Microsoft Excel
- PowerShell, which is pre-installed in Windows10 and the later
Install
- Open PowerShell
- execute Install-Script -Name DiffExcel
2.1 if updating, execute Update-Script -Name DiffExcel
Direct Usage
In PowerShell, use below syntax:
DiffExcel OldExcelFilePath NewExcelFilePath
e.g. DiffExcel E:\Code\ExcelBDD\DiffExcel\Test\OldFile.xlsx E:\Code\ExcelBDD\DiffExcel\Test\NewFile.xlsx
DiffExcel OldExcelFilePath NewExcelFilePath -Open
-Open: if Open switch is set, the new Excel file will open if any change is found.
Config Git Diff
Prepare a Diff bat file
PowerShell -ExecutionPolicy Unrestricted -Command DiffExcel %2 %5
save this bat file to somewhere on your computer, e.g. E:/Code/ExcelBDD/DiffExcel/DiffExcel.bat
if the changed file is wanted open for further check after diff, use the below command.
PowerShell -ExecutionPolicy Unrestricted -Command DiffExcel %2 %5 -Open
Set .git/config
add or edit the .git/config file in your repository or your global and amend the following:
[diff "excel"]
command = E:/Code/ExcelBDD/DiffExcel/DiffExcel.bat
Set .gitattributes
*.xls* diff=excel
Git Diff Usage
Totally the same as usual git diff, e.g.
git status
git diff theChangedExcelFile
Other Output Example
Changed Cells
The -Open is set, the it reminds "The new file is open, please check."