use thiserror::Error;
#[derive(Debug, Error)]
pub enum Error {
#[error("io: {0}")]
Io(#[from] std::io::Error),
#[error("zip: {0}")]
Zip(#[from] zip::result::ZipError),
#[error("ooxml-core: {0}")]
OoxmlCore(#[from] ooxml_core::Error),
#[error("xml: {0}")]
Xml(String),
#[error("xlsx schema: {0}")]
Schema(String),
#[error("invalid cell reference: {0}")]
InvalidCellRef(String),
#[error("invalid sheet name: {0}")]
InvalidSheetName(String),
#[error("index out of range: {0}")]
IndexOutOfRange(usize),
#[error("not implemented: {0}")]
NotImplemented(&'static str),
#[error("{0}")]
Other(String),
}
pub type Result<T> = std::result::Result<T, Error>;