miniexcel 0.1.0

Experimental Rust XLSX reader and writer for MiniExcel
Documentation
use std::io::{self, Write};

use miniexcel::{HeaderMode, MiniExcel, RagExportOptions, ReadOptions};

fn main() -> miniexcel::Result<()> {
    let path = std::env::args().nth(1).unwrap_or_else(|| "book.xlsx".to_owned());
    let options = ReadOptions::new().with_header_mode(HeaderMode::FirstRow);
    let export_options = RagExportOptions::new().with_chunk_rows(25);
    let mut export = MiniExcel::export_rag(path, &options, &export_options)?;
    let stdout = io::stdout();
    let mut output = stdout.lock();

    for chunk in export.by_ref() {
        serde_json::to_writer(&mut output, &chunk?)
            .map_err(|error| miniexcel::Error::from(io::Error::other(error)))?;
        output.write_all(b"\n")?;
    }

    eprintln!("{}", serde_json::to_string_pretty(export.manifest()).expect("serialize manifest"));
    Ok(())
}