Enum xlsx_batch_reader::CellValue
source · pub enum CellValue<'a> {
Blank,
Bool(bool),
Number(f64),
Date(f64),
Time(f64),
Datetime(f64),
Shared(&'a String),
String(String),
Error(String),
}Expand description
Cell Value Type
Variants§
Implementations§
source§impl<'a> CellValue<'a>
impl<'a> CellValue<'a>
sourcepub fn get<T: FromCellValue>(&'a self) -> Result<Option<T>>
pub fn get<T: FromCellValue>(&'a self) -> Result<Option<T>>
Examples found in repository?
examples/simple_reader.rs (line 16)
4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
fn main() -> Result<(), Box<dyn std::error::Error>> {
let mut book = XlsxBook::new("xlsx/test.xlsx", true)?;
for shname in book.get_visible_sheets().clone() {
// left_ncol should not be 0
// the tail empty rows will be ignored, if you want the length of cells in each row is fixed, you can set right_ncol to a number not MAX_COL_NUM
let sheet = book.get_sheet_by_name(&shname, 100, 0, 1, MAX_COL_NUM, false)?;
for batch in sheet {
let (rows_nums, rows_data) = batch?;
// empty rows will be skiped
for (row, cells) in rows_nums.into_iter().zip(rows_data) {
for (col, cel) in cells.into_iter().enumerate() {
let val: String = cel.get()?.unwrap(); // supprted types: String, i64, f64, bool, NaiveDate
println!("the value of {} is {val}", get_ord_from_tuple(row, (col+1) as u16)?);
}
}
};
}
Ok(())
}Trait Implementations§
Auto Trait Implementations§
impl<'a> Freeze for CellValue<'a>
impl<'a> RefUnwindSafe for CellValue<'a>
impl<'a> Send for CellValue<'a>
impl<'a> Sync for CellValue<'a>
impl<'a> Unpin for CellValue<'a>
impl<'a> UnwindSafe for CellValue<'a>
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more