pub trait Reader<RS>: Sizedwhere
    RS: Read + Seek,
{ type Error: Debug + From<Error>; 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>>; fn sheet_names(&self) -> &[String] { ... } 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 FileTypes

Required Associated Types

Error specific to file type

Required Methods

Creates a new instance.

Gets VbaProject

Initialize

Read worksheet data in corresponding worksheet path

Fetch all worksheet data & paths

Read worksheet formula in corresponding worksheet path

Provided Methods

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());

Get all defined names (Ranges names etc)

Get the nth worksheet. Shortcut for getting the nth sheet_name, then the corresponding worksheet.

Implementors