Trait calamine::Reader

source ·
pub trait Reader<RS>: Sized
where 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 ) -> 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 FileTypes

Required Associated Types§

source

type Error: Debug + From<Error>

Error specific to file type

Required Methods§

source

fn new(reader: RS) -> Result<Self, Self::Error>

Creates a new instance.

source

fn vba_project(&mut self) -> Option<Result<Cow<'_, VbaProject>, Self::Error>>

Gets VbaProject

source

fn metadata(&self) -> &Metadata

Initialize

source

fn worksheet_range(&mut self, name: &str) -> Result<Range<Data>, Self::Error>

Read worksheet data in corresponding worksheet path

source

fn worksheets(&mut self) -> Vec<(String, Range<Data>)>

Fetch all worksheet data & paths

source

fn worksheet_formula(&mut self, _: &str) -> Result<Range<String>, Self::Error>

Read worksheet formula in corresponding worksheet path

Provided Methods§

source

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

fn sheets_metadata(&self) -> &[Sheet]

Fetch all sheets metadata

source

fn defined_names(&self) -> &[(String, String)]

Get all defined names (Ranges names etc)

source

fn worksheet_range_at( &mut self, n: usize ) -> Option<Result<Range<Data>, Self::Error>>

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

Object Safety§

This trait is not object safe.

Implementors§

source§

impl<RS> Reader<RS> for Sheets<RS>
where RS: Read + Seek,

§

type Error = Error

source§

impl<RS> Reader<RS> for Ods<RS>
where RS: Read + Seek,

source§

impl<RS: Read + Seek> Reader<RS> for Xls<RS>

source§

impl<RS: Read + Seek> Reader<RS> for Xlsb<RS>

source§

impl<RS: Read + Seek> Reader<RS> for Xlsx<RS>