Since 0.20260422.3:
Export / import — formulas now round-trip
- xlsx/ods/fods export walks
sheet.cellsdirectly into SheetJS{t, v, f, z, c}cell objects. Formulas, number formats, merged ranges, and cell comments all survive the export — reopening the file in Excel / LibreOffice shows live formulas rather than baked values. Previously the pipeline routed throughexportCSVand flattened everything to strings. (54c191e) - xlsx/ods import decodes via SheetJS and emits SocialCalc
set A1 formula SUM(A1:A2)commands, so formulas (including Excel drag-fill formulas, see #305) come in as live formulas. (ecb18d3) - Multi-sheet export routes (
GET /_/=:room/xlsx,.ods,.fods) — previously 501 stubs in the TS rewrite — now walk the TOC row-by-row, fetch each sub-room via/_do/sheet-data, and assemble one workbook with formula fidelity per sub-sheet. (ecb18d3) - Cross-sheet formula resolution (
'other'!A1).findCrossSheetRefsenumerates sibling refs;#fetchSiblingpulls each sibling's snapshot via/_do/snapshot;addSiblingSheetpopulates SocialCalc's formula cache; recalc re-evaluates so stored snapshots carry live values instead of#NAME?. (ecb18d3)
Closes long-standing issues — #55, #234, #289, #305, #573, #717, #762, #783, #795.
Client
- Bottom-right SocialCalc logo now links to the upstream
audreyt/socialcalcrepo, pointing at LEGAL.txt specifically. (5510a16, 685de3e)
CI / docs
- Bump GitHub Actions to latest node / checkout / cache versions (#821, c7af13e).
- Misc docs + spelling fixes.
Install
npm install -g ethercalc@0.20260423.0