xls-rs 0.1.0

A powerful CLI tool and library for spreadsheet manipulation with pandas-style operations. Supports CSV, Excel (XLSX, XLS, ODS), Parquet, and Avro formats with formula evaluation, data transformation, and comprehensive analytics capabilities.
Documentation

xls-rs

xls-rs is a Rust CLI for reading, writing, converting, and transforming spreadsheet-like files.

  • CLI binary: xls-rs
  • Rust library crate: xls_rs (this is the crate name you use in Rust code)

Supported formats include CSV, Excel (.xlsx, .xls), ODS, Parquet, and Avro, with formula evaluation and a growing set of pandas-style operations.

Install / build

cargo build

Run

cargo run -- --help

Example:

cargo run -- read --input examples/sales.csv

Global flags

  • --config <path>: use a specific config file (overrides discovery)
  • --quiet: suppress non-data output (logs/progress)
  • --verbose: print additional debug logs
  • --overwrite: allow overwriting output files

Generate examples

cargo run -- examples-generate

This creates deterministic files under ./examples/ (CSV fixtures plus derived artifacts like sales.xlsx and sales.parquet).

Configuration

The CLI loads config from the first existing path:

  • .xls-rs.toml (project directory)
  • ~/.xls-rs.toml
  • $XDG_CONFIG_HOME/xls-rs/config.toml

MCP server

XlsRsMcpServer exposes tools for programmatic automation. It also includes a capabilities tool that returns supported operations and formats.

Test

cargo test