MarcusOKFrontend libraries for admin products
Declarative, composable TypeScript libraries. Export 100k rows to Excel in under a second.
Declarative, composable TypeScript libraries. Export 100k rows to Excel in under a second.
$ npm i @marcusok/excel-exporterFast stream core exports 100k rows in ~0.8s (measured locally); Web Workers keep heavy work off the main thread.
Describe columns, styles and formats with plain config; export with one call.
Auto mode picks the best path by row count; business code never changes as data grows.
Automatically degrades to the style-less pure-JS fast stream when WASM is unavailable, so most failures still produce a file.
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.
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).
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.
Pure TypeScript core with a one-line createPreview; the low-level parseWorkbookBytes emits a plain data model for React/Vue wrappers or SSR.
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).