Skip to content
Sheetwrite

Sheetwrite / Documentation

Sheet@sheetwrite/core

Workbook sheet schema used when creating a live grid.

Workbook sheet schema used when creating a live grid.

Members 17

id Stable identifier, unique within the workbook and used by every cell address.
id: SheetId;
name User-facing sheet name shown in tabs and workbook exports.
name: string;
visibility Hidden worksheets remain addressable but are omitted from the tab strip.
visibility?: SheetVisibility;
columns Ordered schema; array positions are the zero-based column coordinates.
columns: Column[];
rowCount Row count for both in-memory and datasource-backed sheets.
rowCount: number;
rowHeights Sparse per-row height overrides; default comes from the theme.
rowHeights?: Map<number, number>;
hiddenRows Persisted hidden data rows; runtime form is sparse and non-JSON.
hiddenRows?: Set<number>;
rowGroups Persisted collapsible row groups.
rowGroups?: RowGroup[];
conditionalFormats Conditional styles folded into the bulk render-window style dictionary.
conditionalFormats?: ConditionalFormatRule[];
validationRules Serializable data-entry rules evaluated at the local mutation barrier.
validationRules?: DataValidationRule[];
protectedRanges Client-side protected-range policy metadata; never server authorization.
protectedRanges?: ProtectedRange[];
notes Simple cell notes. Discussion threads live outside the document model.
notes?: CellNote[];
sortKeys Persisted sort keys for the sheet's view.
sortKeys?: SortKey[];
filters Persisted column filters as JSON-safe index/value tuples.
filters?: Array<[col: number, filter: ColumnFilter]>;
merges Persisted merged-cell regions; covered cells render/export from the anchor.
merges?: MergeRange[];
frozenRows Leading view rows pinned above the scrolling body (0/undefined = none).
frozenRows?: number;
frozenCols Leading columns pinned left of the scrolling body (0/undefined = none).
frozenCols?: number;

Declaration

View full TypeScript declaration
export interface Sheet {
id: SheetId;
name: string;
visibility?: SheetVisibility;
columns: Column[];
rowCount: number;
rowHeights?: Map<number, number>;
hiddenRows?: Set<number>;
rowGroups?: RowGroup[];
conditionalFormats?: ConditionalFormatRule[];
validationRules?: DataValidationRule[];
protectedRanges?: ProtectedRange[];
notes?: CellNote[];
sortKeys?: SortKey[];
filters?: Array<[col: number, filter: ColumnFilter]>;
merges?: MergeRange[];
frozenRows?: number;
frozenCols?: number;
}