| Crates.io | formualizer-workbook |
| lib.rs | formualizer-workbook |
| version | 0.1.0 |
| created_at | 2025-09-20 00:19:09.237678+00 |
| updated_at | 2025-09-20 00:19:09.237678+00 |
| description | Workbook abstraction and IO adapters built on the Formualizer spreadsheet engine |
| homepage | https://github.com/psu3d0/formualizer |
| repository | https://github.com/psu3d0/formualizer |
| max_upload_size | |
| id | 1847289 |
| size | 276,831 |
formualizer-workbook layers workbook/session ergonomics on top of the
Formualizer engine. It offers mutable sheet APIs, batch transactions, undo/redo
support, and optional IO backends for XLSX/ODS/json import/export.
formualizer-eval with workbook-friendly
helpers for evaluating individual cells, ranges, or the whole model.calamine, umya-spreadsheet, JSON)
gated behind feature flags.# use formualizer_common::LiteralValue;
# use formualizer_workbook::{IoError, Workbook};
# fn main() -> Result<(), IoError> {
let mut wb = Workbook::new();
wb.add_sheet("Sheet1");
wb.set_value("Sheet1", 1, 1, LiteralValue::Number(2.0))?;
wb.set_value("Sheet1", 1, 2, LiteralValue::Number(3.0))?;
wb.set_formula("Sheet1", 1, 3, "=A1+A2")?;
let result = wb.evaluate_cell("Sheet1", 1, 3)?;
assert_eq!(result, LiteralValue::Number(5.0));
# Ok(())
# }
Dual-licensed under MIT or Apache-2.0, at your option.