use std::fs::File;
use xlsxzero::{ConverterBuilder, DateFormat, FormulaMode, MergeStrategy, SheetSelector};
fn main() -> Result<(), Box<dyn std::error::Error>> {
let input_path = std::env::args()
.nth(1)
.unwrap_or_else(|| "examples/fixtures/sample.xlsx".to_string());
let output_path = std::env::args()
.nth(2)
.unwrap_or_else(|| "examples/fixtures/output_custom.md".to_string());
println!(
"Converting {} to {} with custom settings...",
input_path, output_path
);
let converter = ConverterBuilder::new()
.with_sheet_selector(SheetSelector::Index(0))
.with_merge_strategy(MergeStrategy::HtmlFallback)
.with_date_format(DateFormat::Custom("%Y年%m月%d日".to_string()))
.with_formula_mode(FormulaMode::Formula)
.include_hidden(false)
.with_range((0, 0), (19, 4))
.build()?;
let input = File::open(&input_path)?;
let output = File::create(&output_path)?;
converter.convert(input, output)?;
println!("Conversion completed successfully!");
println!("Output written to: {}", output_path);
println!("\nCustom settings used:");
println!(" - Sheet: First sheet only (index 0)");
println!(" - Merge strategy: HTML fallback");
println!(" - Date format: Japanese (YYYY年MM月DD日)");
println!(" - Formula mode: Formula strings");
println!(" - Hidden elements: Excluded");
println!(" - Range: A1:E20");
Ok(())
}