@shbernal/ts-xlsx 3.2.2-next.23.g1328014 → 3.2.2-next.24.g38fae0e
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/core/address.d.ts +16 -16
- package/dist/core/cell.d.ts +1 -1
- package/dist/core/column.d.ts +2 -2
- package/dist/core/comment-thread.d.ts +2 -2
- package/dist/core/conditional-formatting-overlay.d.ts +1 -1
- package/dist/core/conditional-formatting.d.ts +2 -2
- package/dist/core/data-validation-overlay.d.ts +1 -1
- package/dist/core/date-format.d.ts +1 -1
- package/dist/core/formula.d.ts +1 -1
- package/dist/core/hyperlink.d.ts +2 -2
- package/dist/core/range.d.ts +2 -2
- package/dist/core/row.d.ts +3 -3
- package/dist/core/table-style.d.ts +2 -2
- package/dist/core/text-metrics.d.ts +1 -1
- package/dist/core/theme.d.ts +1 -1
- package/dist/core/value.d.ts +1 -1
- package/dist/core/workbook-media.d.ts +1 -1
- package/dist/core/workbook.d.ts +15 -15
- package/dist/core/worksheet-merges.d.ts +3 -3
- package/dist/core/worksheet.d.ts +27 -27
- package/dist/customui/ribbon.d.ts +1 -1
- package/dist/errors.d.ts +5 -5
- package/dist/io/csv/delimiter.d.ts +2 -2
- package/dist/io/csv/read.d.ts +1 -1
- package/dist/io/csv/write.d.ts +3 -3
- package/dist/io/opc/inflate.d.ts +4 -4
- package/dist/io/read-policy/read-repair.d.ts +1 -1
- package/dist/io/style/xf-style.d.ts +4 -4
- package/dist/io/xlsb/formula.d.ts +2 -2
- package/dist/io/xlsb/read-metadata.d.ts +1 -1
- package/dist/io/xlsb/read-worksheet.d.ts +5 -5
- package/dist/io/xlsb/read.d.ts +3 -3
- package/dist/io/xlsb/record-stream.d.ts +1 -1
- package/dist/io/xlsx/edit-vba.d.ts +6 -6
- package/dist/io/xlsx/images.d.ts +1 -1
- package/dist/io/xlsx/package-plan.d.ts +2 -2
- package/dist/io/xlsx/read-rich-runs.d.ts +9 -7
- package/dist/io/xlsx/read-rows.d.ts +10 -10
- package/dist/io/xlsx/read.d.ts +3 -3
- package/dist/io/xlsx/row-xml.d.ts +4 -3
- package/dist/io/xlsx/theme-xml.d.ts +4 -4
- package/dist/io/xlsx/threaded-comments.d.ts +1 -1
- package/dist/io/xlsx/write-stream.d.ts +2 -2
- package/dist/io/xlsx/write.d.ts +3 -3
- package/dist/vba/bytes.d.ts +2 -2
- package/dist/vba/cfb-writer.d.ts +1 -1
- package/dist/vba/dir-records.d.ts +2 -2
- package/dist/vba/ms-ovba.d.ts +1 -1
- package/dist/vba/project-editor.d.ts +4 -4
- package/dist/vba/vba-encoding.d.ts +2 -2
- package/dist/xml/xml-read.d.ts +1 -1
- package/dist/xml/xml.d.ts +5 -5
- package/package.json +3 -1
package/dist/core/address.d.ts
CHANGED
|
@@ -15,12 +15,12 @@ export declare const MAX_ROW_INDEX: number;
|
|
|
15
15
|
/**
|
|
16
16
|
* Refuse a coordinate that names no position on the grid.
|
|
17
17
|
*
|
|
18
|
-
* @throws
|
|
18
|
+
* @throws RangeError unless `value` is an integer within the axis's bounds.
|
|
19
19
|
*/
|
|
20
20
|
export declare function assertAxisInBounds(axis: 'row' | 'column', value: number): void;
|
|
21
|
-
/** @throws
|
|
21
|
+
/** @throws RangeError unless `n` is an integer in `1..MAX_COLUMN`. */
|
|
22
22
|
export declare function assertColumnInBounds(n: number): void;
|
|
23
|
-
/** @throws
|
|
23
|
+
/** @throws RangeError unless `n` is an integer in `1..MAX_ROW`. */
|
|
24
24
|
export declare function assertRowInBounds(n: number): void;
|
|
25
25
|
/**
|
|
26
26
|
* A rectangular block of the grid, as **inclusive** 1-based bounds on both axes.
|
|
@@ -70,7 +70,7 @@ export interface RangeAddress {
|
|
|
70
70
|
}
|
|
71
71
|
/** Convert a 1-based column number to its letters (`1 → "A"`, `27 → "AA"`).
|
|
72
72
|
*
|
|
73
|
-
* @throws
|
|
73
|
+
* @throws RangeError unless `n` is an integer in `1..MAX_COLUMN`. */
|
|
74
74
|
export declare function numberToColumn(n: number): string;
|
|
75
75
|
/**
|
|
76
76
|
* Convert column letters to a 1-based number (`"A" → 1`, `"AA" → 27`), or `undefined` when they name
|
|
@@ -82,7 +82,7 @@ export declare function tryColumnToNumber(letters: string): number | undefined;
|
|
|
82
82
|
/**
|
|
83
83
|
* Convert column letters to a 1-based number (`"A" → 1`, `"AA" → 27`).
|
|
84
84
|
*
|
|
85
|
-
* @throws
|
|
85
|
+
* @throws RangeError if the letters are malformed or name a column past `XFD`. The two are
|
|
86
86
|
* separate messages because a caller fixes them differently.
|
|
87
87
|
*/
|
|
88
88
|
export declare function columnToNumber(letters: string): number;
|
|
@@ -99,11 +99,11 @@ export declare function encodeCornerRef(col: number | undefined, row: number | u
|
|
|
99
99
|
* A bounded rectangle as its canonical `tl:br` A1 range, `"B2:D5"`. A one-cell rectangle still reads
|
|
100
100
|
* as `"B2:B2"`, which is the form Excel writes and the form every consumer of these refs parses.
|
|
101
101
|
*
|
|
102
|
-
* The rendering half of {@link boundedRect}, and it belongs beside it for the same reason: ten
|
|
103
|
-
* spelled
|
|
104
|
-
* that expression is not its length but its argument order. `encodeAddress` takes
|
|
105
|
-
* rectangle names its rows first, so the two orders are transposed with respect
|
|
106
|
-
* one of those sites.
|
|
102
|
+
* The rendering half of {@link boundedRect}, and it belongs beside it for the same reason: ten
|
|
103
|
+
* sites spelled the template `${encodeAddress(left, top)}:${encodeAddress(right, bottom)}` by hand,
|
|
104
|
+
* and the risk in that expression is not its length but its argument order. `encodeAddress` takes
|
|
105
|
+
* column first and a rectangle names its rows first, so the two orders are transposed with respect
|
|
106
|
+
* to each other at every one of those sites.
|
|
107
107
|
*/
|
|
108
108
|
export declare function encodeRect(rect: GridRect): string;
|
|
109
109
|
/**
|
|
@@ -116,8 +116,8 @@ export declare function encodeRange(rect: GridRect): string;
|
|
|
116
116
|
* Decode a single cell/row/column reference into `{address, col, row}`. Anchoring
|
|
117
117
|
* `$` signs are accepted and dropped; an absent axis is `undefined`.
|
|
118
118
|
*
|
|
119
|
-
* @throws
|
|
120
|
-
* @throws
|
|
119
|
+
* @throws SyntaxError if the reference mentions neither a column nor a row.
|
|
120
|
+
* @throws RangeError if it names a column past `XFD` or a row outside `1..1048576`.
|
|
121
121
|
*/
|
|
122
122
|
export declare function decodeAddress(reference: string): CellAddress;
|
|
123
123
|
/**
|
|
@@ -133,8 +133,8 @@ export interface CellPosition {
|
|
|
133
133
|
/**
|
|
134
134
|
* Decode a reference that must name a single cell. Anchoring `$` signs are accepted and dropped.
|
|
135
135
|
*
|
|
136
|
-
* @throws
|
|
137
|
-
* @throws
|
|
136
|
+
* @throws SyntaxError if the reference is unparseable, or parses but omits an axis (`"A"`, `"1"`).
|
|
137
|
+
* @throws RangeError if it names a position off the grid (`"A0"`, `"XFE1"`).
|
|
138
138
|
*/
|
|
139
139
|
export declare function decodeCellRef(reference: string): CellPosition;
|
|
140
140
|
/**
|
|
@@ -180,8 +180,8 @@ export declare function tryDecodeAnchoredRange(reference: string, col: number, r
|
|
|
180
180
|
* canonical dimensions. A single reference collapses to a degenerate range whose
|
|
181
181
|
* corners coincide.
|
|
182
182
|
*
|
|
183
|
-
* @throws
|
|
184
|
-
* @throws
|
|
183
|
+
* @throws SyntaxError if an endpoint is unparseable.
|
|
184
|
+
* @throws RangeError if an endpoint names a column past `XFD` or a row outside `1..1048576`.
|
|
185
185
|
*/
|
|
186
186
|
export declare function decodeRange(reference: string): RangeAddress;
|
|
187
187
|
/**
|
package/dist/core/cell.d.ts
CHANGED
|
@@ -14,7 +14,7 @@ export declare class Cell {
|
|
|
14
14
|
readonly row: number;
|
|
15
15
|
/** 1-based column index. */
|
|
16
16
|
readonly col: number;
|
|
17
|
-
/** @throws
|
|
17
|
+
/** @throws RangeError unless both axes are integers within Excel's grid. */
|
|
18
18
|
constructor(row: number, col: number);
|
|
19
19
|
/** Canonical A1 address of this cell (`"B3"`). */
|
|
20
20
|
get address(): string;
|
package/dist/core/column.d.ts
CHANGED
|
@@ -8,7 +8,7 @@ export declare class Column extends AxisHandle<ColumnProperties> {
|
|
|
8
8
|
#private;
|
|
9
9
|
/** 1-based column index. Fixed for this handle's lifetime. */
|
|
10
10
|
readonly index: number;
|
|
11
|
-
/** @throws
|
|
11
|
+
/** @throws RangeError unless the index is an integer within Excel's column grid (1..16384). */
|
|
12
12
|
constructor(sheet: Worksheet, index: number);
|
|
13
13
|
/** The column's letters (`"B"`): the spreadsheet-facing name for {@link index}. */
|
|
14
14
|
get letter(): string;
|
|
@@ -70,7 +70,7 @@ export declare class Column extends AxisHandle<ColumnProperties> {
|
|
|
70
70
|
* The cell at a 1-based row number in this column, creating it on first access. Resolves through
|
|
71
71
|
* merges exactly as {@link Worksheet.getCell} does.
|
|
72
72
|
*
|
|
73
|
-
* @throws
|
|
73
|
+
* @throws RangeError if the row is not a positive integer.
|
|
74
74
|
*/
|
|
75
75
|
getCell(row: number): Cell;
|
|
76
76
|
/**
|
|
@@ -87,7 +87,7 @@ export interface Comment {
|
|
|
87
87
|
* The authoring path alone goes through here. A file's own ids are re-emitted as the file wrote them, since
|
|
88
88
|
* a reader that rewrote them would break every reference pointing at them.
|
|
89
89
|
*
|
|
90
|
-
* @throws
|
|
90
|
+
* @throws SyntaxError if the value is not a GUID in any spelling.
|
|
91
91
|
*/
|
|
92
92
|
export declare function commentThreadGuid(value: string, what: string): string;
|
|
93
93
|
/**
|
|
@@ -108,7 +108,7 @@ export declare const MENTION_OFFSET_MAX = 4294967295;
|
|
|
108
108
|
* offset is dropped, keeping the message text and losing only the chip, because a foreign generator's
|
|
109
109
|
* arithmetic is not something a caller can fix, whereas their own is.
|
|
110
110
|
*
|
|
111
|
-
* @throws
|
|
111
|
+
* @throws SyntaxError if the value is negative, fractional, or beyond the wire's ceiling.
|
|
112
112
|
*/
|
|
113
113
|
export declare function commentThreadOffset(value: number, what: string): number;
|
|
114
114
|
/** A conversation anchored to one cell: what was asked, every reply, and whether it was resolved. */
|
|
@@ -8,7 +8,7 @@ export declare class ConditionalFormattingOverlay {
|
|
|
8
8
|
* rule set. The block is stored once against the range, defensively copied so the getter never hands
|
|
9
9
|
* back a reference into the caller's object.
|
|
10
10
|
*
|
|
11
|
-
* @throws
|
|
11
|
+
* @throws AuthoringError when `formatting.ref` names no area at all. A rule set attached to
|
|
12
12
|
* nothing formats no cell and is written back as the same unreadable text, so it is a mistake worth
|
|
13
13
|
* surfacing at the call. The reader does not reach this: it drops such a block at its own boundary.
|
|
14
14
|
*/
|
|
@@ -41,8 +41,8 @@ export declare const isConditionalFormattingType: (value: string) => value is Co
|
|
|
41
41
|
/**
|
|
42
42
|
* How a `cellIs` or text rule compares, as `ST_ConditionalFormattingOperator` enumerates it.
|
|
43
43
|
*
|
|
44
|
-
* Overlaps
|
|
45
|
-
*
|
|
44
|
+
* Overlaps `DataValidationOperator` (`data-validation.ts`) in four members and diverges in the
|
|
45
|
+
* rest: this one has the text comparisons a validation has no use for, and spells "does not
|
|
46
46
|
* contain" as `notContains` where nothing else in the format does.
|
|
47
47
|
*/
|
|
48
48
|
export type ConditionalFormattingOperator = 'lessThan' | 'lessThanOrEqual' | 'equal' | 'notEqual' | 'greaterThanOrEqual' | 'greaterThan' | 'between' | 'notBetween' | 'containsText' | 'notContains' | 'beginsWith' | 'endsWith';
|
|
@@ -13,7 +13,7 @@ export declare class DataValidationOverlay {
|
|
|
13
13
|
* shapes the standard element cannot express. The reader sets it for a rule found in that form so a
|
|
14
14
|
* round-trip writes it back there instead of silently corrupting the cross-sheet reference.
|
|
15
15
|
*
|
|
16
|
-
* @throws
|
|
16
|
+
* @throws AuthoringError when `sqref` names no area at all. A rule attached to nothing covers no
|
|
17
17
|
* cell and is written back as the same unreadable text, so it is a mistake worth reporting at the
|
|
18
18
|
* call. The reader does not reach this: it drops such an entry at its own boundary, where a foreign
|
|
19
19
|
* file's malformed attribute is supposed to be dropped.
|
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
* (`[$-409]`), which is dropped rather than honoured -- month and weekday names render in English.
|
|
14
14
|
* Both are recorded in ADR 0041.
|
|
15
15
|
*
|
|
16
|
-
* @param utc read the date's fields in UTC rather than in the runner's local time. A serial carries
|
|
16
|
+
* @param utc - read the date's fields in UTC rather than in the runner's local time. A serial carries
|
|
17
17
|
* no timezone, so a `Date` that came from one is UTC wall-clock and this should be `true`; a `Date`
|
|
18
18
|
* a caller assigned may mean either.
|
|
19
19
|
*/
|
package/dist/core/formula.d.ts
CHANGED
|
@@ -96,7 +96,7 @@ export declare function mangleFormula(formula: string, namesInScope: ReadonlySet
|
|
|
96
96
|
* BIFF12 codec produces it too, and reaching the XML serialiser for it put the whole write half of
|
|
97
97
|
* that module into the closure of an entry that has no XML in it.
|
|
98
98
|
*
|
|
99
|
-
* @throws
|
|
99
|
+
* @throws AuthoringError when the value is not finite.
|
|
100
100
|
*/
|
|
101
101
|
export declare function formulaNumberLiteral(value: number): string;
|
|
102
102
|
/**
|
package/dist/core/hyperlink.d.ts
CHANGED
|
@@ -17,8 +17,8 @@ export declare class HyperlinkOverlay {
|
|
|
17
17
|
/**
|
|
18
18
|
* Add a link, replacing one over the same cells. The `ref` is stored in its canonical spelling.
|
|
19
19
|
*
|
|
20
|
-
* @throws
|
|
21
|
-
* @throws
|
|
20
|
+
* @throws SyntaxError if `ref` is not a reference.
|
|
21
|
+
* @throws AuthoringError if `ref` names a whole row or column rather than cells.
|
|
22
22
|
*/
|
|
23
23
|
add(link: Hyperlink): void;
|
|
24
24
|
/** Remove the link whose `ref` names exactly these cells, and report whether there was one. */
|
package/dist/core/range.d.ts
CHANGED
|
@@ -28,7 +28,7 @@ export declare class Range implements GridRect {
|
|
|
28
28
|
* Build a handle from inclusive corners, in any order: `(5, 4, 2, 2)` and `(2, 2, 5, 4)` name the
|
|
29
29
|
* same block, exactly as `D5:B2` and `B2:D5` do. Prefer {@link Worksheet.getRange}.
|
|
30
30
|
*
|
|
31
|
-
* @throws
|
|
31
|
+
* @throws RangeError if a corner is not a positive integer or falls outside the sheet's bounds.
|
|
32
32
|
*/
|
|
33
33
|
constructor(sheet: Worksheet, top: number, left: number, bottom: number, right: number);
|
|
34
34
|
/** The worksheet this block belongs to. */
|
|
@@ -108,7 +108,7 @@ export declare class Range implements GridRect {
|
|
|
108
108
|
* as sheet lookup is everywhere else): a range handed out by `sheetA` cannot be a block of `sheetB`,
|
|
109
109
|
* and quietly ignoring the prefix would let a pasted `Sheet2!B2:D5` style the wrong sheet.
|
|
110
110
|
*
|
|
111
|
-
* @throws
|
|
111
|
+
* @throws SyntaxError if the reference is unparseable, names another sheet, or leaves an axis
|
|
112
112
|
* unbounded (`A:A`, `1:1`).
|
|
113
113
|
*/
|
|
114
114
|
export declare function rangeFrom(sheet: Worksheet, reference: string): Range;
|
package/dist/core/row.d.ts
CHANGED
|
@@ -8,7 +8,7 @@ export declare class Row extends AxisHandle<RowProperties> {
|
|
|
8
8
|
#private;
|
|
9
9
|
/** 1-based row number. Fixed for this handle's lifetime. */
|
|
10
10
|
readonly number: number;
|
|
11
|
-
/** @throws
|
|
11
|
+
/** @throws RangeError unless the number is an integer within Excel's row grid (1..1048576). */
|
|
12
12
|
constructor(sheet: Worksheet, number: number);
|
|
13
13
|
/**
|
|
14
14
|
* The row's format record if it has one, else `undefined`: a read that never fabricates, so a
|
|
@@ -50,8 +50,8 @@ export declare class Row extends AxisHandle<RowProperties> {
|
|
|
50
50
|
* Resolves through merges exactly as {@link Worksheet.getCell} does: addressing a cell covered by
|
|
51
51
|
* a merged region yields that region's master.
|
|
52
52
|
*
|
|
53
|
-
* @throws
|
|
54
|
-
* @throws
|
|
53
|
+
* @throws RangeError if the column is not a positive integer.
|
|
54
|
+
* @throws SyntaxError if the column letters do not name a column.
|
|
55
55
|
*/
|
|
56
56
|
getCell(column: number | string): Cell;
|
|
57
57
|
/**
|
|
@@ -61,7 +61,7 @@ export interface TableStyle {
|
|
|
61
61
|
* `size` outside a stripe is ignored. Neither shows up as a repair prompt or a schema error, so the
|
|
62
62
|
* only place to catch them is the call that made them.
|
|
63
63
|
*
|
|
64
|
-
* @throws
|
|
65
|
-
* @throws
|
|
64
|
+
* @throws AuthoringError if the name is empty, or a non-stripe element carries a `size`.
|
|
65
|
+
* @throws RangeError if a `size` is not a positive integer.
|
|
66
66
|
*/
|
|
67
67
|
export declare function checkTableStyle(style: TableStyle): void;
|
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
* state *a* height rather than leave one to the application that opens the file, and being within a
|
|
15
15
|
* line of the truth is what that needs.
|
|
16
16
|
*
|
|
17
|
-
* @throws
|
|
17
|
+
* @throws RangeError if `width` is not a positive finite number - a column of zero width wraps
|
|
18
18
|
* nothing, and silently answering `Infinity` or `NaN` would put that straight into a row height.
|
|
19
19
|
*/
|
|
20
20
|
export declare function estimateWrappedLines(text: string, width: number): number;
|
package/dist/core/theme.d.ts
CHANGED
|
@@ -57,7 +57,7 @@ export declare function isThemeRgb(value: string): boolean;
|
|
|
57
57
|
* reduced here; anything else is a caller's bug and is refused rather than written as corrupt XML,
|
|
58
58
|
* which Excel does not report; it renders the slot as flat black.
|
|
59
59
|
*
|
|
60
|
-
* @throws
|
|
60
|
+
* @throws SyntaxError if the value is not a recognisable RGB or ARGB hex string. Native rather
|
|
61
61
|
* than the library's own `AuthoringError`: a string that does not parse is what `SyntaxError` is
|
|
62
62
|
* for, and it is the same kind of failure a malformed comment GUID raises.
|
|
63
63
|
*/
|
package/dist/core/value.d.ts
CHANGED
|
@@ -182,6 +182,6 @@ export declare function isErrorCode(text: string): text is ErrorCode;
|
|
|
182
182
|
* stored form (no leading `=`) so round-trips are idempotent regardless of how the
|
|
183
183
|
* caller supplied it.
|
|
184
184
|
*
|
|
185
|
-
* @throws
|
|
185
|
+
* @throws TypeError if the value is not a recognised cell-value shape.
|
|
186
186
|
*/
|
|
187
187
|
export declare function coerceCellValue(value: CellValue | undefined): CellValue;
|
|
@@ -12,7 +12,7 @@ export declare class WorkbookMedia {
|
|
|
12
12
|
* is why the message names the sheet rather than the id alone. Emitting a package with a drawing
|
|
13
13
|
* pointing at media nobody registered is the silently-broken-image failure this refuses to start.
|
|
14
14
|
*
|
|
15
|
-
* @throws
|
|
15
|
+
* @throws AuthoringError if no image carries that id.
|
|
16
16
|
*/
|
|
17
17
|
require(id: number, forSheetName: string): WorkbookImage;
|
|
18
18
|
/** Store a picture's bytes and return the id that names them. */
|
package/dist/core/workbook.d.ts
CHANGED
|
@@ -212,7 +212,7 @@ export declare class Workbook {
|
|
|
212
212
|
* returned objects changes nothing on write; the original `customUI` XML is re-emitted byte-for-byte
|
|
213
213
|
* regardless. Parsed lazily on first access and memoised.
|
|
214
214
|
*
|
|
215
|
-
* @throws
|
|
215
|
+
* @throws CustomUiParseError if a `customUI` part is present but its XML is malformed.
|
|
216
216
|
*/
|
|
217
217
|
get customUI(): readonly CustomUiDocument[];
|
|
218
218
|
/**
|
|
@@ -221,7 +221,7 @@ export declare class Workbook {
|
|
|
221
221
|
* verbatim. Mutating the returned object changes nothing on write; the original macro blob is
|
|
222
222
|
* re-emitted byte-for-byte regardless. Parsed lazily on first access and memoised.
|
|
223
223
|
*
|
|
224
|
-
* @throws
|
|
224
|
+
* @throws VbaParseError if a macro project is present but its `vbaProject.bin` is malformed.
|
|
225
225
|
*/
|
|
226
226
|
get vbaProject(): VbaProject | undefined;
|
|
227
227
|
/**
|
|
@@ -275,9 +275,9 @@ export declare class Workbook {
|
|
|
275
275
|
* To author or edit module *source* (which needs real compiled p-code), use the offline
|
|
276
276
|
* `tools/vba-compiler`, then attach its output via {@link vbaProjectBytes}.
|
|
277
277
|
*
|
|
278
|
-
* @throws
|
|
278
|
+
* @throws VbaAuthorError if the workbook has no macro project, or `name` is not in the project,
|
|
279
279
|
* or names a `document`/`designer` module.
|
|
280
|
-
* @throws
|
|
280
|
+
* @throws VbaParseError if the attached `vbaProject.bin` is malformed.
|
|
281
281
|
*/
|
|
282
282
|
removeVbaModule(name: string): void;
|
|
283
283
|
/**
|
|
@@ -286,9 +286,9 @@ export declare class Workbook {
|
|
|
286
286
|
* {@link addVbaReference}). Replacing the project also drops a stale signature, as
|
|
287
287
|
* {@link vbaProjectBytes} does.
|
|
288
288
|
*
|
|
289
|
-
* @throws
|
|
289
|
+
* @throws VbaAuthorError if the workbook has no macro project, or any field of `ref` is invalid
|
|
290
290
|
* (see {@link VbaLibraryReference}).
|
|
291
|
-
* @throws
|
|
291
|
+
* @throws VbaParseError if the attached `vbaProject.bin` is malformed.
|
|
292
292
|
*/
|
|
293
293
|
addVbaReference(ref: VbaLibraryReference): void;
|
|
294
294
|
/** The preserved differential-style (`<dxfs>`) fragments, in index order. */
|
|
@@ -322,10 +322,10 @@ export declare class Workbook {
|
|
|
322
322
|
* Registering a name a source file already defined **overrides** that definition rather than adding
|
|
323
323
|
* a second one beside it.
|
|
324
324
|
*
|
|
325
|
-
* @throws
|
|
325
|
+
* @throws AuthoringError if the name is empty, or an element carries a `size` outside the four
|
|
326
326
|
* stripe types. See {@link checkTableStyle} for why those are refused here rather than silently
|
|
327
327
|
* dropped.
|
|
328
|
-
* @throws
|
|
328
|
+
* @throws RangeError if a `size` is not a positive integer.
|
|
329
329
|
*/
|
|
330
330
|
addTableStyle(style: TableStyle): void;
|
|
331
331
|
/** The table styles authored on this workbook, in registration order. */
|
|
@@ -350,7 +350,7 @@ export declare class Workbook {
|
|
|
350
350
|
* slot left unauthored keeps the source's own encoding, including the `<a:sysClr>` form Excel uses
|
|
351
351
|
* for `dk1`/`lt1` so they follow the viewer's window colours.
|
|
352
352
|
*
|
|
353
|
-
* @throws
|
|
353
|
+
* @throws SyntaxError if a colour is not 6 or 8 hexadecimal digits, with or without a leading `#`.
|
|
354
354
|
* Every colour is read before any is stored, so a refused call changes nothing.
|
|
355
355
|
*/
|
|
356
356
|
setTheme(overrides: ThemeOverrides): void;
|
|
@@ -389,7 +389,7 @@ export declare class Workbook {
|
|
|
389
389
|
* follows {@link themeFonts}'s minor face, so `setTheme({fonts: {minor}})` already reaches every
|
|
390
390
|
* unstyled cell and needs no second call here. See {@link defaultFont} for the full chain.
|
|
391
391
|
*
|
|
392
|
-
* @throws
|
|
392
|
+
* @throws RangeError if `size` is not a positive finite number, or `name` is empty. Both
|
|
393
393
|
* produce a styles part Excel renders from some other font without ever reporting why. Native
|
|
394
394
|
* rather than {@link AuthoringError}: one argument out of range is what `RangeError` is for.
|
|
395
395
|
*/
|
|
@@ -452,7 +452,7 @@ export declare class Workbook {
|
|
|
452
452
|
* legitimate and is what Excel itself does. See {@link restorePersons}. The id is normalised to the
|
|
453
453
|
* brace-wrapped upper-case GUID form the format requires, so a `crypto.randomUUID()` is accepted as-is.
|
|
454
454
|
*
|
|
455
|
-
* @throws
|
|
455
|
+
* @throws SyntaxError if the id is not a GUID.
|
|
456
456
|
*/
|
|
457
457
|
addPerson(person: Person): void;
|
|
458
458
|
/**
|
|
@@ -491,7 +491,7 @@ export declare class Workbook {
|
|
|
491
491
|
* never mutates image bytes, and copying every picture would double the memory of an image-heavy
|
|
492
492
|
* workbook to defend against a mutation nothing performs.
|
|
493
493
|
*
|
|
494
|
-
* @throws
|
|
494
|
+
* @throws AuthoringError if the sheet anchors an image id this workbook has not registered,
|
|
495
495
|
* which is what a sheet from *another* workbook looks like from here. Emitting a package with a
|
|
496
496
|
* drawing pointing at media that was never registered is the silently-broken-image failure this
|
|
497
497
|
* refuses to start.
|
|
@@ -519,14 +519,14 @@ export declare class Workbook {
|
|
|
519
519
|
/**
|
|
520
520
|
* Register a defined name on the workbook.
|
|
521
521
|
*
|
|
522
|
-
* @throws
|
|
522
|
+
* @throws AuthoringError if the name is empty, or if a {@link DefinedName.scope} is given that names no
|
|
523
523
|
* existing worksheet. A scoped name must target a sheet that is already part of the workbook.
|
|
524
524
|
*/
|
|
525
525
|
defineName(definedName: DefinedName): void;
|
|
526
526
|
/**
|
|
527
527
|
* Create a worksheet and append it to the workbook.
|
|
528
528
|
*
|
|
529
|
-
* @throws
|
|
529
|
+
* @throws AuthoringError if the name is empty, too long, contains a forbidden character,
|
|
530
530
|
* or collides (case-insensitively) with an existing sheet.
|
|
531
531
|
*/
|
|
532
532
|
addWorksheet(name: string, options?: AddWorksheetOptions): Worksheet;
|
|
@@ -542,7 +542,7 @@ export declare class Workbook {
|
|
|
542
542
|
* That listing is the whole point: a lookup miss is a typo, a stale template or a renamed tab,
|
|
543
543
|
* and all three are answered by seeing the real names.
|
|
544
544
|
*
|
|
545
|
-
* @throws
|
|
545
|
+
* @throws AuthoringError if no worksheet has that name (case-insensitive) or numeric id.
|
|
546
546
|
*/
|
|
547
547
|
requireWorksheet(nameOrId: string | number): Worksheet;
|
|
548
548
|
/**
|
|
@@ -23,8 +23,8 @@ export declare class WorksheetMerges {
|
|
|
23
23
|
* whole-row/column range, which is declared and overlap-checks against nothing. The range is stored
|
|
24
24
|
* in canonical form (see {@link canonicalMerge}).
|
|
25
25
|
*
|
|
26
|
-
* @throws
|
|
27
|
-
* @throws
|
|
26
|
+
* @throws SyntaxError if the range is unparseable or names a worksheet.
|
|
27
|
+
* @throws AuthoringError if the range overlaps an already-merged region. Excel forbids
|
|
28
28
|
* overlapping merges and writes such geometry as a file it then offers to repair.
|
|
29
29
|
*/
|
|
30
30
|
add(range: string): MergeRect | undefined;
|
|
@@ -32,7 +32,7 @@ export declare class WorksheetMerges {
|
|
|
32
32
|
* Drop a declared range and, with it, the rectangle it covers. The inverse of {@link add}, and it
|
|
33
33
|
* matches however the range is spelled, since both sides are compared in canonical form.
|
|
34
34
|
*
|
|
35
|
-
* @throws
|
|
35
|
+
* @throws SyntaxError if the range is unparseable or names a worksheet.
|
|
36
36
|
*/
|
|
37
37
|
remove(range: string): MergeRemoval;
|
|
38
38
|
/**
|
package/dist/core/worksheet.d.ts
CHANGED
|
@@ -250,7 +250,7 @@ export declare class Worksheet {
|
|
|
250
250
|
* covered address returns the master's. Only the master ever holds an independent
|
|
251
251
|
* value, so the serialized sheet stays well-formed (no stray value on a covered cell).
|
|
252
252
|
*
|
|
253
|
-
* @throws
|
|
253
|
+
* @throws SyntaxError if the reference does not resolve to a single cell.
|
|
254
254
|
*/
|
|
255
255
|
getCell(reference: string): Cell;
|
|
256
256
|
/** Whether a cell has been materialised at the given 1-based position. */
|
|
@@ -261,7 +261,7 @@ export declare class Worksheet {
|
|
|
261
261
|
* not extend the used range. Writing through it (`getColumn(2).width = 12`) is what materialises
|
|
262
262
|
* the record.
|
|
263
263
|
*
|
|
264
|
-
* @throws
|
|
264
|
+
* @throws RangeError if the index is not a positive integer.
|
|
265
265
|
*/
|
|
266
266
|
getColumn(index: number): Column;
|
|
267
267
|
/**
|
|
@@ -270,7 +270,7 @@ export declare class Worksheet {
|
|
|
270
270
|
* extend the used range. Writing through it (`getRow(3).height = 20`) is what materialises the
|
|
271
271
|
* record.
|
|
272
272
|
*
|
|
273
|
-
* @throws
|
|
273
|
+
* @throws RangeError if the number is not a positive integer.
|
|
274
274
|
*/
|
|
275
275
|
getRow(number: number): Row;
|
|
276
276
|
/**
|
|
@@ -286,10 +286,10 @@ export declare class Worksheet {
|
|
|
286
286
|
* million-cell block: OOXML states a whole-axis default in one attribute, and {@link getRow} /
|
|
287
287
|
* {@link getColumn} are how you write it.
|
|
288
288
|
*
|
|
289
|
-
* @throws
|
|
289
|
+
* @throws SyntaxError if the reference is unparseable, names another worksheet, or leaves an
|
|
290
290
|
* axis unbounded.
|
|
291
|
-
* @throws
|
|
292
|
-
* @throws
|
|
291
|
+
* @throws AuthoringError if the numeric form is called with fewer than four corners.
|
|
292
|
+
* @throws RangeError if a numeric corner is not a positive integer within the sheet's bounds.
|
|
293
293
|
*/
|
|
294
294
|
getRange(reference: string): Range;
|
|
295
295
|
getRange(top: number, left: number, bottom: number, right: number): Range;
|
|
@@ -353,7 +353,7 @@ export declare class Worksheet {
|
|
|
353
353
|
* name, at least one column, at least one row) are enforced here; conflicts with the
|
|
354
354
|
* rest of the sheet (e.g. an overlapping merge) are the writer's concern.
|
|
355
355
|
*
|
|
356
|
-
* @throws
|
|
356
|
+
* @throws AuthoringError if the name, columns, or geometry are invalid.
|
|
357
357
|
*/
|
|
358
358
|
addTable(options: TableOptions): Table;
|
|
359
359
|
/** The tables defined on this sheet, in definition order. */
|
|
@@ -367,7 +367,7 @@ export declare class Worksheet {
|
|
|
367
367
|
* while a row or column splice of the source sheet moves its {@link PivotTable.sourceRef}. The
|
|
368
368
|
* supported shape (one summed value field, at least one row and column field) is enforced here.
|
|
369
369
|
*
|
|
370
|
-
* @throws
|
|
370
|
+
* @throws AuthoringError if the metric, fields, or source shape are unsupported.
|
|
371
371
|
*/
|
|
372
372
|
addPivotTable(options: PivotTableOptions): PivotTable;
|
|
373
373
|
/** The pivot tables hosted on this sheet, in definition order. */
|
|
@@ -401,7 +401,7 @@ export declare class Worksheet {
|
|
|
401
401
|
* one id is therefore harmless and is not rejected: Excel's ids happen to be globally unique, but
|
|
402
402
|
* nothing resolves across a part boundary.
|
|
403
403
|
*
|
|
404
|
-
* @throws
|
|
404
|
+
* @throws SyntaxError if the anchor does not resolve to a single cell, if any id is not a GUID, if a
|
|
405
405
|
* message id is already used on this sheet, or if a mention's span is not a whole number the wire can
|
|
406
406
|
* express.
|
|
407
407
|
*/
|
|
@@ -417,7 +417,7 @@ export declare class Worksheet {
|
|
|
417
417
|
* canonicalized, so an absolute `"$B$2"` finds the same thread as `"B2"`; it names the *anchor* cell,
|
|
418
418
|
* so a cell merely covered by the anchor's merged region is not a match.
|
|
419
419
|
*
|
|
420
|
-
* @throws
|
|
420
|
+
* @throws SyntaxError if the reference does not resolve to a single cell.
|
|
421
421
|
*/
|
|
422
422
|
commentThreadAt(reference: string): CommentThread | undefined;
|
|
423
423
|
/**
|
|
@@ -486,9 +486,9 @@ export declare class Worksheet {
|
|
|
486
486
|
* The range is stored in canonical form, `$` anchors dropped and the top-left corner first, so
|
|
487
487
|
* merging `$B$2:$A$1` reports `A1:B2` through {@link merges}.
|
|
488
488
|
*
|
|
489
|
-
* @throws
|
|
489
|
+
* @throws SyntaxError if the range is unparseable or names a worksheet: a merge belongs to the
|
|
490
490
|
* sheet it is made on, and a prefix naming another one used to be ignored.
|
|
491
|
-
* @throws
|
|
491
|
+
* @throws AuthoringError if the range overlaps an already-merged region.
|
|
492
492
|
*/
|
|
493
493
|
mergeCells(range: string): void;
|
|
494
494
|
/** The merged ranges on this sheet, in canonical form (`A1:B2`), in the order they were added. */
|
|
@@ -513,7 +513,7 @@ export declare class Worksheet {
|
|
|
513
513
|
* stored and compared in canonical form. The covering rectangle is dropped alongside it, so a cell
|
|
514
514
|
* the merge had masked addresses independently again. The inverse of {@link mergeCells}.
|
|
515
515
|
*
|
|
516
|
-
* @throws
|
|
516
|
+
* @throws SyntaxError if the range is unparseable or names a worksheet.
|
|
517
517
|
*/
|
|
518
518
|
unmergeCells(range: string): boolean;
|
|
519
519
|
/**
|
|
@@ -538,7 +538,7 @@ export declare class Worksheet {
|
|
|
538
538
|
* rule set. The block is stored once against the range, defensively copied so the getter never hands
|
|
539
539
|
* back a reference into the caller's object.
|
|
540
540
|
*
|
|
541
|
-
* @throws
|
|
541
|
+
* @throws AuthoringError when `formatting.ref` names no cells: empty, or no area of it decodes.
|
|
542
542
|
*/
|
|
543
543
|
addConditionalFormatting(formatting: ConditionalFormatting): void;
|
|
544
544
|
/** The conditional formattings on this sheet, each bound to its target range, in insertion order. */
|
|
@@ -561,8 +561,8 @@ export declare class Worksheet {
|
|
|
561
561
|
* A row or column splice moves a link with the cells it covers, growing it when lines are inserted
|
|
562
562
|
* inside it and shrinking it when some of its lines are deleted, as Excel does.
|
|
563
563
|
*
|
|
564
|
-
* @throws
|
|
565
|
-
* @throws
|
|
564
|
+
* @throws SyntaxError if `ref` is not a reference.
|
|
565
|
+
* @throws AuthoringError if `ref` names a whole row or column rather than cells.
|
|
566
566
|
*/
|
|
567
567
|
addHyperlink(link: Hyperlink): void;
|
|
568
568
|
/**
|
|
@@ -593,11 +593,11 @@ export declare class Worksheet {
|
|
|
593
593
|
* edit and is not moved. A dynamic array whose range the edit leaves holding another formula has its
|
|
594
594
|
* spill blocked, as Excel blocks it: the array formula keeps its own cell alone and caches `#SPILL!`.
|
|
595
595
|
*
|
|
596
|
-
* @throws
|
|
597
|
-
* @throws
|
|
596
|
+
* @throws RangeError if `start` is not a positive integer or `count` is negative.
|
|
597
|
+
* @throws RangeError if an inserted row would land past the last row of the grid. The sheet is
|
|
598
598
|
* left untouched, so this is a refused edit rather than half of one: a region pushed off the edge
|
|
599
599
|
* clamps and absorbs the loss, but content pushed off it is what Excel refuses outright.
|
|
600
|
-
* @throws
|
|
600
|
+
* @throws AuthoringError if the edit would cut through a Ctrl+Shift+Enter array formula's range: an
|
|
601
601
|
* insert strictly inside it, or a delete taking part of it. Excel refuses the same edit, as a change
|
|
602
602
|
* to part of an array, and the sheet is left untouched. An edit moving or deleting the whole range,
|
|
603
603
|
* and any edit through a dynamic array's range, goes ahead.
|
|
@@ -608,7 +608,7 @@ export declare class Worksheet {
|
|
|
608
608
|
* `values` takes either {@link RowInput} shape (positional array or keyed object), like
|
|
609
609
|
* {@link addRow}. Shorthand for {@link spliceRows}`(pos, 0, values)`.
|
|
610
610
|
*
|
|
611
|
-
* @throws
|
|
611
|
+
* @throws RangeError if `pos` is not a positive integer.
|
|
612
612
|
*/
|
|
613
613
|
insertRow(pos: number, values: RowInput): void;
|
|
614
614
|
/**
|
|
@@ -636,7 +636,7 @@ export declare class Worksheet {
|
|
|
636
636
|
* beneath them. `freeze(1)` pins a header row; `freeze(0, 1)` pins the first column. Passing both
|
|
637
637
|
* zero clears the freeze (equivalent to {@link unfreeze}).
|
|
638
638
|
*
|
|
639
|
-
* @throws
|
|
639
|
+
* @throws RangeError if either split is a negative or non-integer count, or leaves no row or
|
|
640
640
|
* column of the grid to scroll. The view is left as it was.
|
|
641
641
|
*/
|
|
642
642
|
freeze(ySplit?: number, xSplit?: number): void;
|
|
@@ -656,9 +656,9 @@ export declare class Worksheet {
|
|
|
656
656
|
* over the source's cells; an inserted copy is taken from the source as the insert left it. A copy
|
|
657
657
|
* landing in a dynamic array's range blocks its spill, as {@link spliceRows} says.
|
|
658
658
|
*
|
|
659
|
-
* @throws
|
|
659
|
+
* @throws RangeError if `start` is not a positive integer or `count` is negative, or if a copy
|
|
660
660
|
* would land past the last row. The sheet is left untouched.
|
|
661
|
-
* @throws
|
|
661
|
+
* @throws AuthoringError if a copy would land inside a Ctrl+Shift+Enter array formula's range, or
|
|
662
662
|
* replace part of one, which Excel refuses as a change to part of an array. The sheet is left
|
|
663
663
|
* untouched.
|
|
664
664
|
*/
|
|
@@ -675,12 +675,12 @@ export declare class Worksheet {
|
|
|
675
675
|
*
|
|
676
676
|
* Formulas move with the columns, by the rules {@link spliceRows} gives for rows.
|
|
677
677
|
*
|
|
678
|
-
* @throws
|
|
679
|
-
* @throws
|
|
678
|
+
* @throws RangeError if `start` is not a positive integer or `count` is negative.
|
|
679
|
+
* @throws RangeError if an inserted column would land past the last column, or one of its values
|
|
680
680
|
* past the last row. The sheet is left untouched, so this is a refused edit rather than half of
|
|
681
681
|
* one: a region pushed off the edge clamps and absorbs the loss, but content pushed off it is
|
|
682
682
|
* what Excel refuses outright, and {@link addColumn} refuses the same argument identically.
|
|
683
|
-
* @throws
|
|
683
|
+
* @throws AuthoringError if the edit would cut through a Ctrl+Shift+Enter array formula's range, by
|
|
684
684
|
* the rule {@link spliceRows} gives for rows. The sheet is left untouched.
|
|
685
685
|
*/
|
|
686
686
|
spliceColumns(start: number, count: number, ...inserts: CellValue[][]): void;
|
|
@@ -689,7 +689,7 @@ export declare class Worksheet {
|
|
|
689
689
|
* by one. `values` is an array of values indexed by row (index 0 → row 1), like
|
|
690
690
|
* {@link addColumn}. Shorthand for {@link spliceColumns}`(pos, 0, values)`.
|
|
691
691
|
*
|
|
692
|
-
* @throws
|
|
692
|
+
* @throws RangeError if `pos` is not a positive integer, or if the column would land past the
|
|
693
693
|
* last column or one of its values past the last row; see {@link spliceColumns}.
|
|
694
694
|
*/
|
|
695
695
|
insertColumn(pos: number, values: CellValue[]): void;
|
|
@@ -80,7 +80,7 @@ export interface CustomUiDocument {
|
|
|
80
80
|
/**
|
|
81
81
|
* Parse a `customUI` part (raw UTF-8 bytes or its decoded text) into a {@link CustomUiDocument}.
|
|
82
82
|
*
|
|
83
|
-
* @throws
|
|
83
|
+
* @throws CustomUiParseError if the XML is malformed, the root is not a `<customUI>` element in
|
|
84
84
|
* a recognised namespace, or the tree nests beyond {@link MAX_DEPTH}.
|
|
85
85
|
*/
|
|
86
86
|
export declare function parseCustomUi(input: string | Uint8Array): CustomUiDocument;
|