pub trait Reader<RS>: Sizedwhere
RS: Read + Seek,{
type Error: Debug + From<Error>;
// Required methods
fn new(reader: RS) -> Result<Self, Self::Error>;
fn vba_project(
&mut self
) -> Option<Result<Cow<'_, VbaProject>, Self::Error>>;
fn metadata(&self) -> &Metadata;
fn worksheet_range(
&mut self,
name: &str
) -> Option<Result<Range<DataType>, Self::Error>>;
fn worksheets(&mut self) -> Vec<(String, Range<DataType>)>;
fn worksheet_formula(
&mut self,
_: &str
) -> Option<Result<Range<String>, Self::Error>>;
// Provided methods
fn sheet_names(&self) -> Vec<String> { ... }
fn sheets_metadata(&self) -> &[Sheet] { ... }
fn defined_names(&self) -> &[(String, String)] { ... }
fn worksheet_range_at(
&mut self,
n: usize
) -> Option<Result<Range<DataType>, Self::Error>> { ... }
}
Expand description
A trait to share spreadsheets reader functions across different FileType
s
Required Associated Types§
Required Methods§
sourcefn vba_project(&mut self) -> Option<Result<Cow<'_, VbaProject>, Self::Error>>
fn vba_project(&mut self) -> Option<Result<Cow<'_, VbaProject>, Self::Error>>
Gets VbaProject
Provided Methods§
sourcefn sheet_names(&self) -> Vec<String>
fn sheet_names(&self) -> Vec<String>
Get all sheet names of this workbook, in workbook order
Examples
use calamine::{Xlsx, open_workbook, Reader};
let mut workbook: Xlsx<_> = open_workbook(path).unwrap();
println!("Sheets: {:#?}", workbook.sheet_names());
sourcefn sheets_metadata(&self) -> &[Sheet]
fn sheets_metadata(&self) -> &[Sheet]
Fetch all sheets metadata
sourcefn defined_names(&self) -> &[(String, String)]
fn defined_names(&self) -> &[(String, String)]
Get all defined names (Ranges names etc)