Tables & autoFilter
Excel Tables, table styles, and column-level autoFilter.
Table
src/worksheet/table.tsaddExcelTable function
src/worksheet/table.ts:112High-level wrapper that builds a TableDefinition + pushes it onto ws.tables
in one call. Auto-assigns the workbook-unique id, derives displayName
from the supplied name, and constructs TableColumn records (1-based ids)
from a string-array shorthand.
Goes through addTable, so the definition is checked against the sheet
before it lands. Pass headerRowCount: 0 for a genuinely header-less table.
function addExcelTable(wb: Workbook, ws: Worksheet, opts: { autoFilter?: AutoFilter; columns: readonly (string | TableColumn)[]; displayName?: string; headerRowCount?: number; name: string; ref: string; style?: string; styleInfo?: TableStyleInfo; totalsRowCount?: number; totalsRowShown?: boolean }): TableDefinitionParameters
| Name | Type | Description |
|---|---|---|
wb | Workbook | |
ws | Worksheet | |
opts | { autoFilter?: AutoFilter; columns: readonly (string | TableColumn)[]; displayName?: string; headerRowCount?: number; name: string; ref: string; style?: string; styleInfo?: TableStyleInfo; totalsRowCount?: number; totalsRowShown?: boolean } |
Returns
TableDefinition
makeTableColumn function
src/worksheet/table.ts:62function makeTableColumn(opts: { id: number; name: string }): TableColumnParameters
| Name | Type | Description |
|---|---|---|
opts | { id: number; name: string } |
Returns
TableColumn
makeTableDefinition function
src/worksheet/table.ts:66function makeTableDefinition(opts: { autoFilter?: AutoFilter; columns?: TableColumn[]; displayName: string; headerRowCount?: number; id: number; name?: string; ref: string; styleInfo?: TableStyleInfo; totalsRowCount?: number; totalsRowShown?: boolean }): TableDefinitionParameters
| Name | Type | Description |
|---|---|---|
opts | { autoFilter?: AutoFilter; columns?: TableColumn[]; displayName: string; headerRowCount?: number; id: number; name?: string; ref: string; styleInfo?: TableStyleInfo; totalsRowCount?: number; totalsRowShown?: boolean } |
Returns
TableDefinition
Auto filter
src/worksheet/auto-filter.tsmakeAutoFilter function
src/worksheet/auto-filter.ts:68function makeAutoFilter(opts: { filterColumns?: FilterColumn[]; ref: string }): AutoFilterParameters
| Name | Type | Description |
|---|---|---|
opts | { filterColumns?: FilterColumn[]; ref: string } |
Returns
AutoFilter
makeFilterColumn function
src/worksheet/auto-filter.ts:72function makeFilterColumn(opts: { blank?: boolean; colId: number; values: readonly string[] }): { blank?: boolean; colId: number; kind: "filters"; values: string[] }Parameters
| Name | Type | Description |
|---|---|---|
opts | { blank?: boolean; colId: number; values: readonly string[] } |
Returns
{ blank?: boolean; colId: number; kind: "filters"; values: string[] }