Skip to main content

Crate ravenrs_sheet

Crate ravenrs_sheet 

Source
Expand description

Headless spreadsheet engine for RavenRS.

The layers, from the bottom up:

  • base: cell addresses, values, errors, date serials and input parsing.
  • numfmt: number format codes, General display and TEXT().
  • formula: the formula language: lexer, parser, printer and reference adjustment.
  • functions: the worksheet function library.
  • math: equations laid out from LaTeX, and their OMML form for XLSX.
  • model: workbooks, sheets, copy-on-write cells, styles, tables and charts.
  • calc: dependency graph, recalculation and dynamic arrays.
  • xlsx: XLSX and CSV import and export.
  • chart: chart data and layout into toolkit-free primitives, and sparklines.
  • pdf: a small PDF writer for printing sheets.
  • engine: sessions: every action is a command with an id and JSON parameters, with undo, clipboard, fill, sort and filter.

Nothing here draws or depends on a window, so it also runs on servers and in WebAssembly. The engine comes from GridCraft (MIT OR Apache-2.0); see NOTICE.

Modules§

base
GridCraft core types: cell addresses, values and Excel’s coercion rules, error values, date serials and typed-input parsing. No dependencies on the rest of the workspace.
calc
GridCraft’s calculation engine: the evaluator (references, names, tables, LET/LAMBDA, dynamic arrays) and dependency-driven recalculation with spills and cycle detection.
chart
GridCraft charts (layer L3, toolkit-free).
engine
The GridCraft engine façade.
formula
The Excel formula language: tokenizer, parser, syntax tree, printer (A1 and R1C1) and reference adjustment for copy/fill and structural edits.
functions
GridCraft worksheet function library.
math
GridCraft equations. LaTeX source is laid out by RaTeX (ratex-parser, ratex-layout; MIT) into a MathList: plain glyph, rule and path data that the UI and the PDF writer paint without calling RaTeX again.
model
The GridCraft document model: workbooks, sheets, a copy-on-write cell store, interned styles, defined names, tables, conditional formats, validation, comments, charts and print settings. Pure data; calculation lives in gridcraft-calc.
numfmt
GridCraft number formats: Excel format codes (#,##0.00;[Red](#,##0.00), dates, fractions, scientific…), the General display format and the TEXT() worksheet function. en-US only.
pdf
A tiny, self-contained PDF 1.7 writer for GridCraft’s print and PDF export.
xlsx
GridCraft file formats: XLSX (transitional and strict) and CSV import/export, plus XLSB and ODS data import and legacy Excel 97-2003 .xls (BIFF8) import, and password-encrypted workbooks (Agile and Standard encryption).