ajout line sur empty row

main
Nicolas Sanchez 1 month ago
parent c25f40a528
commit b82beddfa8

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

Loading…
Cancel
Save