|
|
|
|
@ -1,7 +1,7 @@
|
|
|
|
|
use std::path::Path;
|
|
|
|
|
use umya_spreadsheet::{Range, Worksheet, reader};
|
|
|
|
|
|
|
|
|
|
use crate::arguments::{Arguments, TrimSpaces};
|
|
|
|
|
use crate::arguments::{Arguments, NumberRows, TrimSpaces};
|
|
|
|
|
use crate::error::Error;
|
|
|
|
|
|
|
|
|
|
pub fn xlsxtocsv(args: &Arguments) -> Result<(), Error> {
|
|
|
|
|
@ -65,7 +65,9 @@ pub fn xlsxtocsv(args: &Arguments) -> Result<(), Error> {
|
|
|
|
|
// TODO get every hidden columns
|
|
|
|
|
|
|
|
|
|
// for each row...
|
|
|
|
|
let mut seq_row_num = 0;
|
|
|
|
|
for i in 1..=num_rows {
|
|
|
|
|
|
|
|
|
|
// Avoid hidden rows if asked for
|
|
|
|
|
if !args.include_hidden_rows {
|
|
|
|
|
match sheet.get_row_dimension(&i) {
|
|
|
|
|
@ -75,9 +77,8 @@ pub fn xlsxtocsv(args: &Arguments) -> Result<(), Error> {
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
None => {
|
|
|
|
|
if args.number_rows {
|
|
|
|
|
print!("{}{}", i, args.separator);
|
|
|
|
|
}
|
|
|
|
|
seq_row_num += 1;
|
|
|
|
|
number_row(&args.number_rows, args.separator, seq_row_num, i);
|
|
|
|
|
println!("{}", empty_row);
|
|
|
|
|
continue;
|
|
|
|
|
}
|
|
|
|
|
@ -85,9 +86,8 @@ pub fn xlsxtocsv(args: &Arguments) -> Result<(), Error> {
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// number the row
|
|
|
|
|
if args.number_rows {
|
|
|
|
|
print!("{}{}", i, args.separator);
|
|
|
|
|
}
|
|
|
|
|
seq_row_num += 1;
|
|
|
|
|
number_row(&args.number_rows, args.separator, seq_row_num, i);
|
|
|
|
|
|
|
|
|
|
// for each column in row...
|
|
|
|
|
let mut first = true;
|
|
|
|
|
@ -147,6 +147,14 @@ pub fn xlsxtocsv(args: &Arguments) -> Result<(), Error> {
|
|
|
|
|
Ok(())
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
fn number_row(number_row: &NumberRows, separator: char, seqrownum: u32, i: u32) {
|
|
|
|
|
match number_row {
|
|
|
|
|
NumberRows::AsIs => print!("{}{}", i, separator),
|
|
|
|
|
NumberRows::Sequential => print!("{}{}", seqrownum, separator),
|
|
|
|
|
NumberRows::None => {},
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
struct MergedCells {
|
|
|
|
|
merged_cells: Vec<Range>,
|
|
|
|
|
fill_horizontal: bool,
|
|
|
|
|
|