diffTool is a GUI application built in Go. It finds the diff status of each keyed line between two Excel files by key and then writes the differences to a specificed file.
To run diffTool on a Windows-based system, download a copy of diffTool.exe and run it from your computer. To build the diffTool on any go-capable system, clone the repo and then run
go build
from within the repo folder.
Please read the instructions here
difftool.exe will produce an Excel .xlsx file with two columns - key and status. Key is the key value of the keyed column used for the set analysis between files, and status takes one of four values: new, removed, changed, same
The progress bar currently does not stop once the comparison process is complete. This is likely because I don't have an understanding of concurrency in Go yet.
Under the hood, diffTool reads each file into a Go map using the selected key column and a hash of the line containing that key. Each set of keys is compared for differences and intersections, and the intersectional keys have their line hash values compared to check for differences. The results are paired back to the keys in a key: value map, and then written to a specified file.