use serde_json;
use std::error::Error;
use std::path::PathBuf;
use structopt::StructOpt;
mod core;
#[derive(StructOpt, Debug)]
struct Opt {
#[structopt(parse(from_os_str))]
old_file_path: PathBuf,
#[structopt(parse(from_os_str))]
new_file_path: PathBuf,
#[structopt(short="d", long)]
with_data: bool,
#[structopt(short="h", long)]
header_row: Option<usize>
}
fn main() -> Result<(), Box<dyn Error>> {
let opt = Opt::from_args();
let res = core::diff_xlsx(
opt.old_file_path,
opt.new_file_path,
opt.with_data);
match res {
Ok(s) => println!("{}", serde_json::to_string_pretty(&s)?),
Err(err) => println!("{:?}", err),
}
return Ok(());
}