umya-spreadsheet 3.0.0

umya-spreadsheet is a library written in pure Rust to read and write xlsx file.
Documentation
use std::{
    io,
    io::Read,
};

use super::XlsxError;
use crate::{
    helper::const_str::PKG_JSA_PROJECT,
    structs::Workbook,
};

pub(crate) fn read<R: Read + io::Seek>(
    arv: &mut zip::ZipArchive<R>,
    wb: &mut Workbook,
) -> Result<(), XlsxError> {
    let mut r = io::BufReader::new(match super::driver::zip_by_name(arv, PKG_JSA_PROJECT) {
        Ok(v) => v,
        Err(zip::result::ZipError::FileNotFound) => {
            return Ok(());
        }
        Err(e) => {
            return Err(e.into());
        }
    });
    let mut buf = Vec::new();
    r.read_to_end(&mut buf)?;

    wb.set_jsa_macros_code(buf);

    Ok(())
}