Skip to content

MarcusOKFrontend libraries for admin products

Declarative, composable TypeScript libraries. Export 100k rows to Excel in under a second.

MarcusOK logo
$ npm i @marcusok/excel-exporter

Ecosystem Highlights ​

Performance

Fast stream core exports 100k rows in ~0.8s (measured locally); Web Workers keep heavy work off the main thread.

Declarative

Describe columns, styles and formats with plain config; export with one call.

Auto Routing

Auto mode picks the best path by row count; business code never changes as data grows.

Layered Fallbacks

Automatically degrades to the style-less pure-JS fast stream when WASM is unavailable, so most failures still produce a file.

Large files stay smooth

Parsing runs in a Web Worker (measured ~1.5s for 100k rows × 10 cols, UI never freezes); the DOM renderer virtualizes to viewport-only cells.

Style fidelity

Fonts, fills, borders, alignment, number formats, merges, frozen panes, hidden rows/columns; theme and indexed colors are recovered by a dedicated overlay layer (the engine drops them on read).

Number-format fidelity

Built-in format ids use Excel's actual behavior table (not the ECMA strings); engine defects — negative signs, accounting parens, currency literals, elapsed durations, minute adjacency — are compensated in a dedicated layer.

Framework-agnostic

Pure TypeScript core with a one-line createPreview; the low-level parseWorkbookBytes emits a plain data model for React/Vue wrappers or SSR.

0
Documented packages
0s
100k rows export time
0
Export modes
0
Style presets
0k
Preview scale (rows)

Packages ​

Export

Document Preview

Performance Snapshot ​

Fast stream completes a 100k-row export in ~0.8s, while the same engine's Workbook path slows sharply beyond ~55k rows (17.5s at 100k).