Loading documentation…
Columnar workbook storage, query, transaction, and subscription contract.
getWorkbookgetCell Single-cell read for interactions, API reads, and tests.Single-cell read for interactions, API reads, and tests. NOT for the render hot path — renderers use `getVisibleWindow`.
getFormula Formula source at addr, or null when the cell is not a formula.getSpillAnchor Owning dynamic-array formula cell, or null when addr is not spilled.getRefTarget Plain-reference target at addr, or null when the cell is not a ref.recalculateVolatile Recompute volatile formulas (TODAY/NOW) from one captured instant.recalculateVolatile(now?: Date): void;Recompute volatile formulas (`TODAY`/`NOW`) from one captured instant. The supplied Date is interpreted as an absolute UTC instant.
getVisibleWindow Bulk read of a visible window; the only read a renderer should use per frame.getVisibleWindow( sheet: SheetId, rows: { start: number; end: number }, cols: readonly number[], ): VisibleWindowView;getDataWindow Optional packed canonical data-row window used by file export.getDataWindow?( sheet: SheetId, rows: { start: number; end: number }, cols: readonly number[], ): VisibleWindowView;Optional packed canonical data-row window used by file export. Unlike `getVisibleWindow`, sort/filter state never remaps `rows`.
getClipboardWindow Optional packed clipboard read.getClipboardWindow?( sheet: SheetId, viewRows: { start: number; end: number }, cols: readonly number[], ): ClipboardWindowView;Optional packed clipboard read. Custom stores may omit it; the controller preserves the per-cell Store fallback contract.
ensureColumns Ensure a sheet can address at least columns.length columns without producing user changes or dirty patches.Ensure a sheet can address at least `columns.length` columns without producing user changes or dirty patches. Used for presentation padding.
applyTransaction Apply a low-level storage transaction.applyTransaction( tx: Transaction, options?: TransactionApplicationOptions, ): ApplyTransactionResult;Apply a low-level storage transaction.
This bypasses Grid read-only checks and Grid undo/redo history. Use
Grid.applyTransaction for normal host-driven edits.
Queued and flushed at a barrier — never reentrant.
setProtectionResolver Configure host-owned protected-range permissions.Configure host-owned protected-range permissions. The resolver is synchronous so every local mutation ingress shares one atomic commit barrier.
onsetDetailedChangeCapture Opt in to per-cell before/after capture for packed and clear operations.setDetailedChangeCapture?(enabled: boolean): void;queryCapability Explicit partial-data state for paged datasource stores.getCellLoadState Loaded/empty/local state; dense stores always return a loaded state.acknowledgeOperations Release sparse paged edits after server acknowledgement.exportSnapshot Deterministic, JSON-safe authoritative runtime document.viewRowCount Displayed row count after any active sort/filter view.export interface Store { recalculateVolatile(now?: Date): void; getVisibleWindow( rows: { start: number; end: number; }, cols: readonly number[], getDataWindow?( rows: { start: number; end: number; }, cols: readonly number[], getClipboardWindow?( viewRows: { start: number; end: number; }, cols: readonly number[], ): ClipboardWindowView; applyTransaction( setProtectionResolver?( ): void; setDetailedChangeCapture?(enabled: boolean): void; acknowledgeOperations?( storageRevision?: bigint, ): void;}Workspace packages depending on @sheetwrite/core
@sheetwrite/benchdependency@sheetwrite/docs-startdependency@sheetwrite/reactdependency@sheetwrite/sveltedependency@sheetwrite/vuedependency@sheetwrite/xlsxdependencyPublic exports naming Store
Grid@sheetwrite/coreSheetwriteStore@sheetwrite/coretoCsv@sheetwrite/coretoTsv@sheetwrite/coretoXlsxTable@sheetwrite/coreXlsxTableExportBackend@sheetwrite/coreGrid@sheetwrite/reactGrid@sheetwrite/svelteGrid@sheetwrite/vuebuildXlsxModel@sheetwrite/xlsx