# sheets-diff-rs
Collect diff between office sheets written in Rust
[](https://crates.io/crates/sheets-diff)
[](https://docs.rs/sheets-diff/latest)
[](https://deps.rs/crate/sheets-diff/latest)
[](https://github.com/nabbisen/sheets-diff-rs/actions/workflows/)
[](https://github.com/nabbisen/sheets-diff-rs/blob/main/LICENSE)
## Features
- Get unified diff between two files
- Get serde-ready diff
- Note: `serde` feature is required: `cargo add sheets-diff -F serde`
## Simple run
```console
$ cargo run -- <file1> <file2>
--- ./file1.xlsx (sheet names)
+++ ./file2.xlsx (sheet names)
- RemovedSheet
+ AddedSheet
--- ./file1.xlsx [Sheet1] (value)
+++ ./file2.xlsx [Sheet1] (value)
@@ (1, 1) @@
- 1
+ 2
--- ./file1.xlsx [Sheet1] (formula)
+++ ./file2.xlsx [Sheet1] (formula)
@@ (10, 4) @@
- 1+1
```
## Acknowledgements
Depends on:
- [tafia](https://github.com/tafia)'s [calamine](https://github.com/tafia/calamine) and [quick-xml](https://github.com/tafia/quick-xml)
- Also big thanks to [zip-rs/zip2](https://github.com/zip-rs/zip2) etc.