The Genesis Of DiffEngineX

If you cast your mind back at least six years ago, there were only a small handful of software utilities to compare Excel workbooks. Typically even for average sized workbooks they took at least ten minutes. Worse than that some of them even failed to spot all the differences. All these Excel compare utilities were written as Excel add-ins, meaning they ran inside Microsoft Excel and were invoked from its menu system.

We did not want to do the exact same thing again. We decided to write DiffEngineX as an desktop application running outside of Microsoft Excel. This way it would be a little easier to invoke it from the command line with arguments or from source control systems.

With the benefit of time, we realized an almost arbitrary decision was fortuitous. When Microsoft released new versions of their runtimes and libraries, Excel add-ins broke. When Microsoft released 64-bit operating systems, Excel add-ins broke. DiffEngineX runs outside Excel and it kept on working despite all Microsoft's changes. DiffEngineX has been the compare utility that people turn to when everything else fails to work.

DiffEngineX was one of the first Excel compare utilities to report all the differences between two medium sized Excel workbooks within tens of seconds rather than tens of minutes.

The early versions of DiffEngineX were only intended as a minimal implementation of the classic diff algorithm i.e. software to point out the similarities between two sequences of information. Over time with customer feedback DiffEngineX has grown into the application it is today.

Academic Articles Referencing DiffEngineX

We have found several academic articles referencing DiffEngineX.

DiffEngineX is a true difference tool for Excel workbooks, which correctly handles row/column insertions and deletions and their effects on formulae. It offers two different row alignment algorithms. Use Alignment Plus not only aligns similar rows, but makes sure unmatched rows are always paired with a blank row (in the other workbook) such that deletions and additions can be easily color highlighted and inspected. "Options->Hide Matching Rows, but show 4 rows on either side as context" is a powerful way to see all the differences at once with a little context on either side. DiffEngineX remains unique in its scalability.

Harutyunyan, Anna, et al. "Planted-model evaluation of algorithms for identifying differences between spreadsheets."


Doctoral dissertation, University of Otago 2010.

Chambers, Chris, Martin Erwig, and Markus Luckey. "SheetDiff: A tool for identifying changes in spreadsheets." IEEE Int. Symp. on Visual Languages and Human-Centric Computing. 2010.

Comparing Excel Workbooks With Event Handlers

Version 2.28 of DiffEngineX has improved handling when comparing Excel workbooks containing event handlers such as Workbook_Open and Workbook_BeforeClose. If your Excel spreadsheets make substantial use of VBA macros we recommend you upgrade to this version.

(DiffEngineX automatically creates temporary workbook copies before the process of reporting and highlighting differences, so your original files are untouched.) A new option has been added to the Extras dialog allowing the user to make hidden workbooks visible.

DiffEngineX On Windows 8 RC

DiffEngineX is a desktop application that loads two Microsoft Excel workbooks from the filesystem and reports on the differences between them. It is not an Excel add-in.

DiffEngineX has been tested on Windows 8 Release Candidate and it has been found to work.

We currently offer three different size downloads for DiffEngineX. Only the largest size one that has been built against the latest Microsoft libraries and runtimes will successfully install on Windows 8. On our download web page it is labelled as being the "newest build" one.

All our DiffEngineX downloads will work on Windows 7, Vista, Windows XP and Windows Server. Microsoft Excel (or Office) is a prerequisite.

Loading Excel Workbooks With Large Pivot Tables

Version 2.27 of DiffEngineX has now been released.

With the release of Excel 2007, Microsoft increased the maximum size of pivot tables. DiffEngineX can now compare Excel workbooks containing these larger tables.

The presence of embedded Visual Basic for Applications (VBA) macros containing event handlers has been found to occasionally cause problems on slower computers when DiffEngineX is comparing their parent spreadsheets. This issue is now fixed.

FindMySoft Video Review Of DiffEngineX

The software directory website FindMySoft has produced a short video review on how to use DiffEngineX to find the differences between two Microsoft Excel spreadsheets. Their intention was not to create a full video review. Certainly we can see there is nothing in their video about Excel row alignment or pre-sorting Excel rows first (using Excel's Data tab), which is an issue that can catch some users out the first time they use DiffEngineX. (If you are comparing formulae based workbooks, you can ignore this extra step.)

Their video review can be found here.

FindMySoft DiffEngineX Award