Crate xlsxzero

Crate xlsxzero 

Source
Expand description

xlsxzero - Pure-Rust Excel parser and Markdown converter for RAG systems

This crate provides functionality to parse Excel files (XLSX) and convert them to structured Markdown format, optimized for RAG (Retrieval-Augmented Generation) systems.

§Quick Start

use std::fs::File;
use xlsxzero::ConverterBuilder;

fn main() -> Result<(), Box<dyn std::error::Error>> {
    // Create a converter with default settings
    let converter = ConverterBuilder::new().build()?;

    // Open input Excel file
    let input = File::open("example.xlsx")?;

    // Create output Markdown file
    let output = File::create("output.md")?;

    // Convert Excel to Markdown
    converter.convert(input, output)?;

    Ok(())
}

For in-memory conversion, use Cursor:

use std::io::Cursor;
use xlsxzero::ConverterBuilder;

let converter = ConverterBuilder::new().build()?;
let excel_data: Vec<u8> = vec![]; // Your Excel file bytes
let mut markdown_output = Vec::new();
converter.convert(Cursor::new(excel_data), &mut markdown_output)?;

§Custom Configuration

use std::fs::File;
use xlsxzero::{ConverterBuilder, SheetSelector, MergeStrategy, DateFormat};

fn main() -> Result<(), Box<dyn std::error::Error>> {
    // Create a converter with custom settings
    let converter = ConverterBuilder::new()
        .with_sheet_selector(SheetSelector::Index(0))  // First sheet only
        .with_merge_strategy(MergeStrategy::HtmlFallback)  // HTML for merged cells
        .with_date_format(DateFormat::Custom("%Y年%m月%d日".to_string()))  // Japanese format
        .build()?;

    let input = File::open("example.xlsx")?;
    let output = File::create("output.md")?;
    converter.convert(input, output)?;

    Ok(())
}

§Convert to String

use std::fs::File;
use xlsxzero::ConverterBuilder;

fn main() -> Result<(), Box<dyn std::error::Error>> {
    let converter = ConverterBuilder::new().build()?;
    let input = File::open("example.xlsx")?;

    // Convert to String instead of writing to a file
    let markdown = converter.convert_to_string(input)?;
    println!("{}", markdown);

    Ok(())
}

Structs§

Converter
変換処理のファサード
ConverterBuilder
Fluent Builder APIを提供する構造体

Enums§

DateFormat
日付の出力形式
FormulaMode
数式セルの出力モード
MergeStrategy
セル結合の処理戦略
OutputFormat
出力フォーマット
SheetSelector
シート選択方式
XlsxToMdError
xlsxzeroクレート全体で使用するエラー型