pub trait Reader<RS>: Sized{
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
) -> Result<Range<Data>, Self::Error>;
fn worksheets(&mut self) -> Vec<(String, Range<Data>)>;
fn worksheet_formula(
&mut self,
_: &str
) -> 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<Data>, 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)
Object Safety§
This trait is not object safe.