Skip to main content

Crate xlstream

Crate xlstream 

Source
Expand description

§xlstream

Streaming Excel formula evaluation engine. Reads .xlsx files row-by-row, evaluates formulas in bounded memory, writes results to a new .xlsx.

This crate re-exports the primary entry points from xlstream_eval and xlstream_core. For direct access to internals, depend on those crates instead.

§Examples

use std::path::Path;

let summary = xlstream::evaluate(
    Path::new("input.xlsx"),
    Path::new("output.xlsx"),
    &xlstream::EvaluateOptions::default(),
)?;

assert!(summary.rows_processed > 0);

Structs§

EvaluateOptions
Options controlling formula evaluation behavior.
EvaluateSummary
Summary of a completed evaluation run.
ExcelDate
Newtype wrapping an Excel date serial (days since the 1900 epoch, with the Lotus 1-2-3 leap-year bug preserved at serial 60).

Enums§

CellError
Excel cell-level errors. These are values, not exceptions: a cell can hold #DIV/0! just as it can hold a number, and formulas that consume it propagate the error rather than aborting the workbook.
OutputMode
Controls what is written to formula cells in the output xlsx.
Value
A cell value. Every evaluated formula result, every loaded cell, and every function argument flows through this enum.
XlStreamError
Library-level errors. Cell-level errors (#DIV/0!, #VALUE!, …) live on crate::CellError; this type is for failures that stop evaluation rather than becoming a cell value.

Constants§

ITERATIVE_CALC_DEFAULT_MAX_CHANGE
Default convergence threshold for iterative calculation (matches Excel).
ITERATIVE_CALC_DEFAULT_MAX_ITERATIONS
Default maximum iterations for iterative calculation (matches Excel).

Functions§

evaluate
Evaluate every formula in input, write results to output, and return an EvaluateSummary.