diff --git a/src/xlsxtocsv.rs b/src/xlsxtocsv.rs index be33c17..d123236 100644 --- a/src/xlsxtocsv.rs +++ b/src/xlsxtocsv.rs @@ -10,7 +10,7 @@ pub fn xlsxtocsv(args: &Arguments) -> Result<(), Error> { .expect(format!("Can't open {}", args.file).as_str()); if args.list_worksheets { - println!("Liste of worksheets :"); + println!("List of worksheets :"); let mut i = 0; let sheets = book.get_sheet_collection(); for sheet in sheets { @@ -104,10 +104,12 @@ pub fn xlsxtocsv(args: &Arguments) -> Result<(), Error> { let stdout = stdout(); let mut writer = BufWriter::new(stdout.lock()); - + // for each row... let mut seq_row_num = 0; - for i in (args.skip_rows+1)..=num_rows { + for i in (args.skip_rows + 1)..=num_rows { + let mut line = String::from(""); + // take hidden rows if asked for if !include_hidden_rows { match sheet.get_row_dimension(&i) { @@ -118,15 +120,14 @@ pub fn xlsxtocsv(args: &Arguments) -> Result<(), Error> { } None => { seq_row_num += 1; - writer.write(number_row(&args.number_rows, args.separator, seq_row_num, i).as_bytes()).unwrap(); - writer.write(empty_row.as_bytes()).unwrap(); + line += number_row(&args.number_rows, args.separator, seq_row_num, i).as_str(); + line += empty_row.as_str(); + writer.write(line.as_bytes()).unwrap(); continue; } } } - let mut line = String::from(""); - // number the row seq_row_num += 1; line += number_row(&args.number_rows, args.separator, seq_row_num, i).as_str(); @@ -169,7 +170,7 @@ pub fn xlsxtocsv(args: &Arguments) -> Result<(), Error> { TrimSpaces::End => String::from(value.trim_end()), TrimSpaces::Start => String::from(value.trim_start()), TrimSpaces::Both => String::from(value.trim()), - TrimSpaces::None => value, + TrimSpaces::None => value, }; value = value.replace('\r', "").replace('\n', " "); if let Some(ref replacement) = args.replace_separator_by {