Casual Sheets

A spreadsheet that knows it's a file.

Open a .xlsx, edit it like the web, save it back. The Excel flow — ribbon, formula bar, file-centric workflow — without the desktop binary. Real-time co-editing when you want it; self-host the Docker image when you don't want a SaaS in the loop.

Version
v0.1.0
E2E tests
357 ✓
Round-trip audit
54 / 54
License
Apache-2.0
Templates
11
What it does

The Excel surface, faithfully ported.

x

Native .xlsx round-trip

ExcelJS-backed parser with a 46-probe lossiness audit covering styles, formulas, number formats, hyperlinks, defined names, data validation, page setup, tables, freeze, hidden sheets, and workbook metadata. .xlsm files round-trip byte-equal — we capture xl/vbaProject.bin and re-inject it on save.

Σ

Pivot tables with drill-down

Multi-row compact layout, filter fields, refresh, and drill-down to the contributing source rows with Ctrl+Shift+D. The pivot model piggy-backs on Univer's mutation bus so co-edit syncs the pivot, not just the cells beneath.

📊

Eight chart types · sparklines

Line, column, bar, pie, donut, scatter, area, combo. Trendlines, date-axis detection, per-series colour overrides. Sparklines as line / column / win-loss. ECharts overlay anchored to cell ranges with a zoom + frozen-pane-aware coordinate transform.

Real-time co-editing

Yjs + Hocuspocus over a WebSocket gateway. Anonymous rooms identified by URL. Optional password-protected rooms with a SHA-256 client gate and server-side onAuthenticate enforcement for view-only roles.

Version history · autosave

Per-room auto-snapshots with one-click restore. IndexedDB autosave with a restore banner on reload. Local single-user mode includes a full history side panel; the Docker image carries cross-peer history with timestamps and op-log compaction.

🎁

11-template home gallery

Personal Budget, To-Do, Project Tracker, Sprint Planner, Invoice, Inventory, Expense Report, Class Schedule, Grade Tracker, Travel Planner, Meeting Notes — all real .xlsx files authored with ExcelJS, with hand-tuned thumbnail previews.

Stack

Built on Univer OSS — no Pro pinning.

Univer OSS (Apache-2.0) is the grid + formula engine; everything above — the Office-style shell, the collab driver, the xlsx workers, charts, pivots, sparklines, the home gallery, the autosave loop — is in this repo. When a feature is missing in OSS, we build it on OSS or defer it. Never "use the Pro package."

Univer OSS 0.24.x React 18 + Vite + TypeScript strict Yjs + Hocuspocus ExcelJS in Web Workers ECharts Docker multi-arch
Self-host in one line. The Docker image bundles the web app, the Fastify HTTP server, and the Hocuspocus WebSocket gateway into a single port. No DB. Multi-arch (amd64 + arm64).
docker run -p 3000:3000 schnsrw/casual-sheets:latest