From 0f8f345aae73e9a3260ad2686f53f706f6eb2de6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nicol=C3=A1s=20Hatcher?= Date: Sun, 28 Sep 2025 12:22:33 +0200 Subject: [PATCH] UPDATE: have xlsx_2_icalc specify its output name This is nice for deployments --- xlsx/src/bin/xlsx_2_icalc.rs | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/xlsx/src/bin/xlsx_2_icalc.rs b/xlsx/src/bin/xlsx_2_icalc.rs index a712c14..77ab588 100644 --- a/xlsx/src/bin/xlsx_2_icalc.rs +++ b/xlsx/src/bin/xlsx_2_icalc.rs @@ -7,7 +7,7 @@ //! This is primary for QA internal testing and will be superseded by an official //! IronCalc CLI. //! -//! Usage: test file.xlsx +//! Usage: test file.xlsx [output.icalc] use std::path; @@ -15,15 +15,20 @@ use ironcalc::{export::save_to_icalc, import::load_from_xlsx}; fn main() { let args: Vec<_> = std::env::args().collect(); - if args.len() != 2 { - panic!("Usage: {} ", args[0]); + if args.len() != 2 && args.len() != 3 { + panic!("Usage: {} [output.icalc]", args[0]); } // first test the file let file_name = &args[1]; - let file_path = path::Path::new(file_name); + let output_file_name = if args.len() == 3 { + &args[2] + } else { + let file_path = path::Path::new(file_name); let base_name = file_path.file_stem().unwrap().to_str().unwrap(); - let output_file_name = &format!("{base_name}.ic"); + &format!("{base_name}.ic") + }; + let model = load_from_xlsx(file_name, "en", "UTC").unwrap(); save_to_icalc(&model, output_file_name).unwrap(); }