An open-source Git command line extension:
git-diff and git-merge for workbook files

xltrail client is a free, open-source Git command line extension that makes git-diff and git-merge for Excel workbook files.

xltrail works directly on the workbook file level and supports all Excel file formats, including xls, xlt, xla, xlam, xlsx, xlsm, xlsb, xltx, xltm.

Download v0.3.1 (Windows)

Getting Started

Download and install the Git command line extension by clicking the button above. You only have to set up the xltrail client once.

C:\>git xltrail install

Alternatively, initialise xltrail client per repository, using the --local option, inside the root folder of your repository's local working copy:

C:\Repository>git xltrail install --local

There is no step two.
Use git diff and git merge with workbook files, the same way as you normally do with text files.

xltrail client is an open source project

To file an issue or contribute to the project, head over to the repository.


Get meaningful git diff output when comparing Excel workbook files containing VBA code.

C:\Repository>git diff dev..master
diff --xltrail a/Book1.xlsb b/Book1.xlsb
--- a/Book1.xlsb/VBA/Module/Module1
+++ b/Book1.xlsb/VBA/Module/Module1
@@ -1,4 +1,4 @@
 Option Explicit
 Public Function Version() As String
-   Version = "v1.0"
+   Version = "v1.1"
 End Function

Use Git branches to work on workbook changes and merge branches via the normal git merge.

C:\Repository>git merge dev
--- a/Book1.xlsb/VBA/Module/Module1
+++ b/Book1.xlsb/VBA/Module/Module1
Auto-merging Book1.xlsb
Merge made by the 'recursive' strategy.
 Book1.xlsb | Bin 8021 -> 7910 bytes
 1 file changed, 0 insertions(+), 0 deletions(-)

List all workbooks in your repository and get meta data on workbook content with the git xltrail ls-files command.

C:\Repository>git xltrail ls-files