81 lines
3.8 KiB
Markdown
81 lines
3.8 KiB
Markdown
|
#### Worksheet Object
|
||
|
|
||
|
In addition to the base sheet keys, worksheets also add:
|
||
|
|
||
|
- `ws['!cols']`: array of column properties objects. Column widths are actually
|
||
|
stored in files in a normalized manner, measured in terms of the "Maximum
|
||
|
Digit Width" (the largest width of the rendered digits 0-9, in pixels). When
|
||
|
parsed, the column objects store the pixel width in the `wpx` field, character
|
||
|
width in the `wch` field, and the maximum digit width in the `MDW` field.
|
||
|
|
||
|
- `ws['!rows']`: array of row properties objects as explained later in the docs.
|
||
|
Each row object encodes properties including row height and visibility.
|
||
|
|
||
|
- `ws['!merges']`: array of range objects corresponding to the merged cells in
|
||
|
the worksheet. Plain text formats do not support merge cells. CSV export
|
||
|
will write all cells in the merge range if they exist, so be sure that only
|
||
|
the first cell (upper-left) in the range is set.
|
||
|
|
||
|
- `ws['!outline']`: configure how outlines should behave. Options default to
|
||
|
the default settings in Excel 2019:
|
||
|
|
||
|
| key | Excel feature | default |
|
||
|
|:----------|:----------------------------------------------|:--------|
|
||
|
| `above` | Uncheck "Summary rows below detail" | `false` |
|
||
|
| `left` | Uncheck "Summary rows to the right of detail" | `false` |
|
||
|
|
||
|
- `ws['!protect']`: object of write sheet protection properties. The `password`
|
||
|
key specifies the password for formats that support password-protected sheets
|
||
|
(XLSX/XLSB/XLS). The writer uses the XOR obfuscation method. The following
|
||
|
keys control the sheet protection -- set to `false` to enable a feature when
|
||
|
sheet is locked or set to `true` to disable a feature:
|
||
|
|
||
|
<details>
|
||
|
<summary><b>Worksheet Protection Details</b> (click to show)</summary>
|
||
|
|
||
|
| key | feature (true=disabled / false=enabled) | default |
|
||
|
|:----------------------|:----------------------------------------|:-----------|
|
||
|
| `selectLockedCells` | Select locked cells | enabled |
|
||
|
| `selectUnlockedCells` | Select unlocked cells | enabled |
|
||
|
| `formatCells` | Format cells | disabled |
|
||
|
| `formatColumns` | Format columns | disabled |
|
||
|
| `formatRows` | Format rows | disabled |
|
||
|
| `insertColumns` | Insert columns | disabled |
|
||
|
| `insertRows` | Insert rows | disabled |
|
||
|
| `insertHyperlinks` | Insert hyperlinks | disabled |
|
||
|
| `deleteColumns` | Delete columns | disabled |
|
||
|
| `deleteRows` | Delete rows | disabled |
|
||
|
| `sort` | Sort | disabled |
|
||
|
| `autoFilter` | Filter | disabled |
|
||
|
| `pivotTables` | Use PivotTable reports | disabled |
|
||
|
| `objects` | Edit objects | enabled |
|
||
|
| `scenarios` | Edit scenarios | enabled |
|
||
|
</details>
|
||
|
|
||
|
- `ws['!autofilter']`: AutoFilter object following the schema:
|
||
|
|
||
|
```typescript
|
||
|
type AutoFilter = {
|
||
|
ref:string; // A-1 based range representing the AutoFilter table range
|
||
|
}
|
||
|
```
|
||
|
|
||
|
#### Chartsheet Object
|
||
|
|
||
|
Chartsheets are represented as standard sheets. They are distinguished with the
|
||
|
`!type` property set to `"chart"`.
|
||
|
|
||
|
The underlying data and `!ref` refer to the cached data in the chartsheet. The
|
||
|
first row of the chartsheet is the underlying header.
|
||
|
|
||
|
#### Macrosheet Object
|
||
|
|
||
|
Macrosheets are represented as standard sheets. They are distinguished with the
|
||
|
`!type` property set to `"macro"`.
|
||
|
|
||
|
#### Dialogsheet Object
|
||
|
|
||
|
Dialogsheets are represented as standard sheets. They are distinguished with the
|
||
|
`!type` property set to `"dialog"`.
|
||
|
|