ajout de la liste des worksheets

pull/3/head
Nicolas Sanchez 2 months ago
parent 35a5895d01
commit 17ca28a6e1

@ -61,6 +61,9 @@ pub struct Arguments {
/// Path to the xlsx file /// Path to the xlsx file
#[arg()] #[arg()]
pub file: String, pub file: String,
/// List all worksheets
#[arg(short, long)]
pub list_worksheets: bool,
/// Separator /// Separator
#[arg(short, long, default_value_t = ';')] #[arg(short, long, default_value_t = ';')]
pub separator: char, pub separator: char,

@ -8,6 +8,19 @@ pub fn xlsxtocsv(args: &Arguments) -> Result<(), Error> {
let book = reader::xlsx::read(Path::new(&args.file)) let book = reader::xlsx::read(Path::new(&args.file))
.expect(format!("Can't open {}", args.file).as_str()); .expect(format!("Can't open {}", args.file).as_str());
if args.list_worksheets {
println!("Liste of worksheets :");
let mut i = 0;
let sheets = book.get_sheet_collection();
for sheet in sheets {
println!(" {:3}: {}", i, sheet.get_name());
i += 1;
}
return Ok(());
}
// get the sheet from name or number if specified, else the first of the spreadsheet // get the sheet from name or number if specified, else the first of the spreadsheet
let sheet = match book.get_sheet_by_name(&args.worksheet) { let sheet = match book.get_sheet_by_name(&args.worksheet) {
Some(sheet) => sheet, Some(sheet) => sheet,

Loading…
Cancel
Save