Project · P-02

GitXL: Version Control for Excel

Git for Excel workbooks: cell-level diffs, three-way merges, and a normalizer so re-saving an unchanged file produces no diff.

  • Built a 5,300-line JavaScript/Electron app bringing Git to Excel: parses OOXML into cell-level diffs for inputs, formulas, recalculated values, and formatting, with commit/history/restore/revert/branch/stash/push/pull workflows.
  • Engineered an OOXML normalizer to suppress save-only diffs: hashes styles by font, fill, border, and number format; expands shared formulas; resolves relationship IDs; and strips volatile metadata and chart caches so unchanged re-saves produce no diff.
  • Implemented cell-keyed three-way Git merges with LCS/diff3 for ordered content; auto-merges disjoint edits, ignores formula-cache churn, and safely rejects unsupported files; 39 tests cover Git/workbook cases.
Nearest neighbors · any layercosine distance in the full space