rsv_lib/excel/
excel2csv.rs1use crate::{
2 args::Excel2csv,
3 utils::{cli_result::CliResult, reader::ExcelReader, util::werr_exit, writer::Writer},
4};
5
6impl Excel2csv {
7 pub fn excel_run(&self) -> CliResult {
8 if self.filename.is_none() {
9 werr_exit!("Please provide a file path.");
10 }
11 let path = &self.path();
12
13 let out = path.with_extension("csv");
15
16 let range = ExcelReader::new(path, self.sheet)?;
18 let mut wtr = Writer::new(&out)?;
19
20 let sep = [self.sep as u8];
22
23 for r in range.iter() {
25 wtr.write_excel_line(r, &sep)?;
26 }
27
28 println!("Saved to file: {}", out.display());
29
30 Ok(())
31 }
32}