@cj-tech-master/excelts 1.4.3 → 1.4.5-canary.20251212053535.13d32d8

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.
Files changed (80) hide show
  1. package/README.md +3 -3
  2. package/README_zh.md +3 -3
  3. package/dist/browser/excelts.iife.js +13026 -7610
  4. package/dist/browser/excelts.iife.js.map +1 -1
  5. package/dist/browser/excelts.iife.min.js +87 -24
  6. package/dist/cjs/doc/anchor.js +25 -11
  7. package/dist/cjs/doc/cell.js +75 -43
  8. package/dist/cjs/doc/column.js +39 -16
  9. package/dist/cjs/doc/defined-names.js +53 -7
  10. package/dist/cjs/doc/image.js +11 -8
  11. package/dist/cjs/doc/range.js +64 -28
  12. package/dist/cjs/doc/row.js +33 -17
  13. package/dist/cjs/doc/table.js +3 -5
  14. package/dist/cjs/doc/workbook.js +5 -4
  15. package/dist/cjs/doc/worksheet.js +24 -20
  16. package/dist/cjs/stream/xlsx/workbook-writer.js +3 -2
  17. package/dist/cjs/utils/sheet-utils.js +3 -1
  18. package/dist/cjs/utils/unzip/extract.js +166 -0
  19. package/dist/cjs/utils/unzip/index.js +7 -1
  20. package/dist/cjs/utils/xml-stream.js +25 -3
  21. package/dist/cjs/utils/zip/compress.js +261 -0
  22. package/dist/cjs/utils/zip/crc32.js +154 -0
  23. package/dist/cjs/utils/zip/index.js +70 -0
  24. package/dist/cjs/utils/zip/zip-builder.js +378 -0
  25. package/dist/cjs/utils/zip-stream.js +30 -34
  26. package/dist/cjs/xlsx/xform/book/defined-name-xform.js +36 -2
  27. package/dist/cjs/xlsx/xform/list-xform.js +6 -0
  28. package/dist/cjs/xlsx/xform/sheet/cell-xform.js +6 -1
  29. package/dist/cjs/xlsx/xform/sheet/row-xform.js +24 -2
  30. package/dist/cjs/xlsx/xform/table/filter-column-xform.js +4 -0
  31. package/dist/esm/doc/anchor.js +25 -11
  32. package/dist/esm/doc/cell.js +75 -43
  33. package/dist/esm/doc/column.js +39 -16
  34. package/dist/esm/doc/defined-names.js +53 -7
  35. package/dist/esm/doc/image.js +11 -8
  36. package/dist/esm/doc/range.js +64 -28
  37. package/dist/esm/doc/row.js +33 -17
  38. package/dist/esm/doc/table.js +3 -5
  39. package/dist/esm/doc/workbook.js +5 -4
  40. package/dist/esm/doc/worksheet.js +24 -20
  41. package/dist/esm/stream/xlsx/workbook-writer.js +3 -2
  42. package/dist/esm/utils/sheet-utils.js +3 -1
  43. package/dist/esm/utils/unzip/extract.js +160 -0
  44. package/dist/esm/utils/unzip/index.js +2 -0
  45. package/dist/esm/utils/xml-stream.js +25 -3
  46. package/dist/esm/utils/zip/compress.js +220 -0
  47. package/dist/esm/utils/zip/crc32.js +116 -0
  48. package/dist/esm/utils/zip/index.js +55 -0
  49. package/dist/esm/utils/zip/zip-builder.js +372 -0
  50. package/dist/esm/utils/zip-stream.js +30 -34
  51. package/dist/esm/xlsx/xform/book/defined-name-xform.js +36 -2
  52. package/dist/esm/xlsx/xform/list-xform.js +6 -0
  53. package/dist/esm/xlsx/xform/sheet/cell-xform.js +6 -1
  54. package/dist/esm/xlsx/xform/sheet/row-xform.js +24 -2
  55. package/dist/esm/xlsx/xform/table/filter-column-xform.js +4 -0
  56. package/dist/types/doc/anchor.d.ts +14 -7
  57. package/dist/types/doc/cell.d.ts +85 -40
  58. package/dist/types/doc/column.d.ts +39 -34
  59. package/dist/types/doc/defined-names.d.ts +11 -8
  60. package/dist/types/doc/image.d.ts +29 -12
  61. package/dist/types/doc/pivot-table.d.ts +1 -1
  62. package/dist/types/doc/range.d.ts +15 -4
  63. package/dist/types/doc/row.d.ts +34 -40
  64. package/dist/types/doc/table.d.ts +21 -36
  65. package/dist/types/doc/workbook.d.ts +30 -33
  66. package/dist/types/doc/worksheet.d.ts +105 -80
  67. package/dist/types/stream/xlsx/worksheet-reader.d.ts +3 -5
  68. package/dist/types/types.d.ts +86 -26
  69. package/dist/types/utils/col-cache.d.ts +11 -8
  70. package/dist/types/utils/unzip/extract.d.ts +92 -0
  71. package/dist/types/utils/unzip/index.d.ts +1 -0
  72. package/dist/types/utils/xml-stream.d.ts +2 -0
  73. package/dist/types/utils/zip/compress.d.ts +83 -0
  74. package/dist/types/utils/zip/crc32.d.ts +55 -0
  75. package/dist/types/utils/zip/index.d.ts +52 -0
  76. package/dist/types/utils/zip/zip-builder.d.ts +110 -0
  77. package/dist/types/utils/zip-stream.d.ts +6 -12
  78. package/dist/types/xlsx/xform/list-xform.d.ts +1 -0
  79. package/dist/types/xlsx/xform/sheet/row-xform.d.ts +2 -0
  80. package/package.json +8 -8
@@ -1,15 +1,57 @@
1
+ import { Note } from "./note.js";
2
+ import type { Row } from "./row.js";
3
+ import type { Column } from "./column.js";
4
+ import type { Worksheet } from "./worksheet.js";
5
+ import type { Workbook } from "./workbook.js";
6
+ import type { Style, NumFmt, Font, Alignment, Protection, Borders, Fill, CellRichTextValue, CellErrorValue, DataValidation, CellValue, CellHyperlinkValue } from "../types.js";
7
+ export type HyperlinkValueData = CellHyperlinkValue;
8
+ export type FormulaResult = string | number | boolean | Date | CellErrorValue;
9
+ export interface FormulaValueData {
10
+ shareType?: string;
11
+ ref?: string;
12
+ formula?: string;
13
+ sharedFormula?: string;
14
+ result?: FormulaResult;
15
+ date1904?: boolean;
16
+ }
1
17
  interface FullAddress {
2
18
  sheetName: string;
3
19
  address: string;
4
20
  row: number;
5
21
  col: number;
6
22
  }
7
- interface CellModel {
23
+ export interface CellAddress {
24
+ address: string;
25
+ row: number;
26
+ col: number;
27
+ $col$row?: string;
28
+ }
29
+ export interface NoteText {
30
+ text: string;
31
+ font?: Record<string, unknown>;
32
+ }
33
+ export interface NoteConfig {
34
+ texts?: NoteText[];
35
+ margins?: {
36
+ insetmode?: string;
37
+ inset?: number[];
38
+ };
39
+ protection?: {
40
+ locked?: string;
41
+ lockText?: string;
42
+ };
43
+ editAs?: string;
44
+ }
45
+ export interface NoteModel {
46
+ type: string;
47
+ note: NoteConfig;
48
+ }
49
+ export interface CellModel {
8
50
  address: string;
9
51
  type: number;
10
- value?: any;
11
- style?: any;
12
- comment?: any;
52
+ value?: number | string | boolean | Date | CellRichTextValue | CellErrorValue | HyperlinkValueData;
53
+ style?: Partial<Style>;
54
+ comment?: NoteModel;
13
55
  text?: string;
14
56
  hyperlink?: string;
15
57
  tooltip?: string;
@@ -18,38 +60,39 @@ interface CellModel {
18
60
  ref?: string;
19
61
  formula?: string;
20
62
  sharedFormula?: string;
21
- result?: any;
22
- richText?: any[];
23
- sharedString?: any;
24
- error?: any;
25
- rawValue?: any;
63
+ result?: FormulaResult;
64
+ richText?: CellRichTextValue;
65
+ sharedString?: number;
66
+ error?: CellErrorValue;
67
+ rawValue?: unknown;
26
68
  }
69
+ export type CellValueType = CellValue;
27
70
  declare class Cell {
28
71
  static Types: typeof import("./enums.js").ValueType;
29
- _row: any;
30
- _column: any;
31
- _address: string;
32
- _value: any;
33
- style: any;
34
- _mergeCount: number;
35
- _comment?: any;
36
- constructor(row: any, column: any, address: string);
37
- get worksheet(): any;
38
- get workbook(): any;
72
+ private _row;
73
+ private _column;
74
+ private _address;
75
+ private _value;
76
+ style: Partial<Style>;
77
+ private _mergeCount;
78
+ private _comment?;
79
+ constructor(row: Row, column: Column, address: string);
80
+ get worksheet(): Worksheet;
81
+ get workbook(): Workbook;
39
82
  destroy(): void;
40
- get numFmt(): any;
41
- set numFmt(value: any);
42
- get font(): any;
43
- set font(value: any);
44
- get alignment(): any;
45
- set alignment(value: any);
46
- get border(): any;
47
- set border(value: any);
48
- get fill(): any;
49
- set fill(value: any);
50
- get protection(): any;
51
- set protection(value: any);
52
- _mergeStyle(rowStyle: any, colStyle: any, style: any): any;
83
+ get numFmt(): string | NumFmt | undefined;
84
+ set numFmt(value: string | undefined);
85
+ get font(): Partial<Font> | undefined;
86
+ set font(value: Partial<Font> | undefined);
87
+ get alignment(): Partial<Alignment> | undefined;
88
+ set alignment(value: Partial<Alignment> | undefined);
89
+ get border(): Partial<Borders> | undefined;
90
+ set border(value: Partial<Borders> | undefined);
91
+ get fill(): Fill | undefined;
92
+ set fill(value: Fill | undefined);
93
+ get protection(): Partial<Protection> | undefined;
94
+ set protection(value: Partial<Protection> | undefined);
95
+ private _mergeStyle;
53
96
  get address(): string;
54
97
  get row(): number;
55
98
  get col(): number;
@@ -66,16 +109,18 @@ declare class Cell {
66
109
  get master(): Cell;
67
110
  get isHyperlink(): boolean;
68
111
  get hyperlink(): string | undefined;
69
- get value(): any;
70
- set value(v: any);
71
- get note(): string | undefined;
72
- set note(note: string);
112
+ get value(): CellValueType;
113
+ set value(v: CellValueType);
114
+ get note(): string | NoteConfig | undefined;
115
+ set note(note: string | NoteConfig);
116
+ get comment(): Note | undefined;
117
+ set comment(comment: Note | NoteConfig | undefined);
73
118
  get text(): string;
74
119
  get html(): string;
75
120
  toString(): string;
76
121
  _upgradeToHyperlink(hyperlink: string): void;
77
122
  get formula(): string | undefined;
78
- get result(): any;
123
+ get result(): FormulaResult | undefined;
79
124
  get formulaType(): number;
80
125
  get fullAddress(): FullAddress;
81
126
  get name(): string;
@@ -85,9 +130,9 @@ declare class Cell {
85
130
  addName(name: string): void;
86
131
  removeName(name: string): void;
87
132
  removeAllNames(): void;
88
- get _dataValidations(): any;
89
- get dataValidation(): any;
90
- set dataValidation(value: any);
133
+ private get _dataValidations();
134
+ get dataValidation(): DataValidation | undefined;
135
+ set dataValidation(value: DataValidation);
91
136
  get model(): CellModel;
92
137
  set model(value: CellModel);
93
138
  }
@@ -1,40 +1,43 @@
1
- interface ColumnDefn {
2
- header?: any;
1
+ import type { Cell, CellValueType } from "./cell.js";
2
+ import type { Worksheet } from "./worksheet.js";
3
+ import type { Style, NumFmt, Font, Alignment, Protection, Borders, Fill } from "../types.js";
4
+ export interface ColumnDefn {
5
+ header?: string | string[];
3
6
  key?: string;
4
7
  width?: number;
5
8
  outlineLevel?: number;
6
9
  hidden?: boolean;
7
- style?: any;
10
+ style?: Partial<Style>;
8
11
  }
9
- interface ColumnModel {
12
+ export interface ColumnModel {
10
13
  min: number;
11
14
  max: number;
12
15
  width?: number;
13
- style?: any;
16
+ style?: Partial<Style>;
14
17
  isCustomWidth?: boolean;
15
18
  hidden?: boolean;
16
19
  outlineLevel?: number;
17
20
  collapsed?: boolean;
18
21
  }
19
22
  declare class Column {
20
- _worksheet: any;
21
- _number: number;
22
- _header: any;
23
- _key: string | undefined;
23
+ private _worksheet;
24
+ private _number;
25
+ private _header;
26
+ private _key;
24
27
  width?: number;
25
- _hidden: boolean | undefined;
26
- _outlineLevel: number | undefined;
27
- style: any;
28
- constructor(worksheet: any, number: number, defn?: any);
28
+ private _hidden;
29
+ private _outlineLevel;
30
+ style: Partial<Style>;
31
+ constructor(worksheet: Worksheet, number: number, defn?: ColumnDefn | false);
29
32
  get number(): number;
30
- get worksheet(): any;
33
+ get worksheet(): Worksheet;
31
34
  get letter(): string;
32
35
  get isCustomWidth(): boolean;
33
36
  get defn(): ColumnDefn;
34
37
  set defn(value: ColumnDefn | undefined);
35
- get headers(): any[];
36
- get header(): any;
37
- set header(value: any);
38
+ get headers(): string[];
39
+ get header(): string | string[] | undefined;
40
+ set header(value: string | string[] | undefined);
38
41
  get key(): string | undefined;
39
42
  set key(value: string | undefined);
40
43
  get hidden(): boolean;
@@ -44,25 +47,27 @@ declare class Column {
44
47
  get collapsed(): boolean;
45
48
  toString(): string;
46
49
  equivalentTo(other: Column): boolean;
50
+ equivalentToModel(model: ColumnModel): boolean;
47
51
  get isDefault(): boolean;
48
52
  get headerCount(): number;
49
- eachCell(options: any, iteratee?: any): void;
50
- get values(): any[];
51
- set values(v: any[]);
52
- _applyStyle(name: string, value: any): any;
53
- get numFmt(): any;
54
- set numFmt(value: any);
55
- get font(): any;
56
- set font(value: any);
57
- get alignment(): any;
58
- set alignment(value: any);
59
- get protection(): any;
60
- set protection(value: any);
61
- get border(): any;
62
- set border(value: any);
63
- get fill(): any;
64
- set fill(value: any);
53
+ eachCell(options: {
54
+ includeEmpty?: boolean;
55
+ } | ((cell: Cell, rowNumber: number) => void), iteratee?: (cell: Cell, rowNumber: number) => void): void;
56
+ get values(): CellValueType[];
57
+ set values(v: CellValueType[]);
58
+ get numFmt(): string | NumFmt | undefined;
59
+ set numFmt(value: string | undefined);
60
+ get font(): Partial<Font> | undefined;
61
+ set font(value: Partial<Font> | undefined);
62
+ get alignment(): Partial<Alignment> | undefined;
63
+ set alignment(value: Partial<Alignment> | undefined);
64
+ get protection(): Partial<Protection> | undefined;
65
+ set protection(value: Partial<Protection> | undefined);
66
+ get border(): Partial<Borders> | undefined;
67
+ set border(value: Partial<Borders> | undefined);
68
+ get fill(): Fill | undefined;
69
+ set fill(value: Fill | undefined);
65
70
  static toModel(columns: Column[]): ColumnModel[] | undefined;
66
- static fromModel(worksheet: any, cols: ColumnModel[]): Column[] | null;
71
+ static fromModel(worksheet: Worksheet, cols: ColumnModel[]): Column[] | null;
67
72
  }
68
73
  export { Column };
@@ -1,12 +1,15 @@
1
+ import { type DecodedRange } from "../utils/col-cache.js";
1
2
  import { CellMatrix } from "../utils/cell-matrix.js";
2
3
  import { Range } from "./range.js";
3
- interface Cell {
4
+ import type { Address } from "../types.js";
5
+ interface DefinedNameCell {
4
6
  sheetName?: string;
5
7
  address: string;
6
8
  row: number;
7
9
  col: number;
8
10
  mark?: boolean;
9
11
  }
12
+ type CellLocation = Address | DecodedRange;
10
13
  interface DefinedNameModel {
11
14
  name: string;
12
15
  ranges: string[];
@@ -16,14 +19,14 @@ declare class DefinedNames {
16
19
  constructor();
17
20
  getMatrix(name: string): CellMatrix;
18
21
  add(locStr: string, name: string): void;
19
- addEx(location: any, name: string): void;
22
+ addEx(location: CellLocation, name: string): void;
20
23
  remove(locStr: string, name: string): void;
21
- removeEx(location: any, name: string): void;
22
- removeAllNames(location: any): void;
23
- forEach(callback: (name: string, cell: Cell) => void): void;
24
+ removeEx(location: CellLocation, name: string): void;
25
+ removeAllNames(location: CellLocation): void;
26
+ forEach(callback: (name: string, cell: DefinedNameCell) => void): void;
24
27
  getNames(addressStr: string): string[];
25
- getNamesEx(address: any): string[];
26
- _explore(matrix: CellMatrix, cell: Cell): Range;
28
+ getNamesEx(address: Address): string[];
29
+ _explore(matrix: CellMatrix, cell: DefinedNameCell): Range;
27
30
  getRanges(name: string, matrix?: CellMatrix): DefinedNameModel;
28
31
  normaliseMatrix(matrix: CellMatrix, sheetName: string): void;
29
32
  spliceRows(sheetName: string, start: number, numDelete: number, numInsert: number): void;
@@ -31,4 +34,4 @@ declare class DefinedNames {
31
34
  get model(): DefinedNameModel[];
32
35
  set model(value: DefinedNameModel[]);
33
36
  }
34
- export { DefinedNames };
37
+ export { DefinedNames, type DefinedNameModel };
@@ -1,6 +1,8 @@
1
- import { Anchor } from "./anchor.js";
1
+ import { Anchor, type AnchorModel } from "./anchor.js";
2
+ import type { Worksheet } from "./worksheet.js";
2
3
  interface ImageHyperlinks {
3
- [key: string]: any;
4
+ hyperlink?: string;
5
+ tooltip?: string;
4
6
  }
5
7
  interface ImageExt {
6
8
  width?: number;
@@ -17,31 +19,46 @@ interface BackgroundModel {
17
19
  type: "background";
18
20
  imageId: string;
19
21
  }
22
+ interface ImageRangeModel {
23
+ tl: AnchorModel;
24
+ br?: AnchorModel;
25
+ ext?: ImageExt;
26
+ editAs?: string;
27
+ }
20
28
  interface ImageModel {
21
29
  type: "image";
22
30
  imageId: string;
23
31
  hyperlinks?: ImageHyperlinks;
24
- range: {
25
- tl: any;
26
- br?: any;
27
- ext?: ImageExt;
28
- editAs?: string;
29
- };
32
+ range: ImageRangeModel;
30
33
  }
31
34
  type Model = BackgroundModel | ImageModel;
35
+ type ImageModelInput = ModelInput;
36
+ interface RangeInput {
37
+ tl?: AnchorModel | {
38
+ col: number;
39
+ row: number;
40
+ } | string;
41
+ br?: AnchorModel | {
42
+ col: number;
43
+ row: number;
44
+ } | string;
45
+ ext?: ImageExt;
46
+ editAs?: string;
47
+ hyperlinks?: ImageHyperlinks;
48
+ }
32
49
  interface ModelInput {
33
50
  type: string;
34
51
  imageId: string;
35
- range?: string | any;
52
+ range?: string | RangeInput | ImageRangeModel;
36
53
  hyperlinks?: ImageHyperlinks;
37
54
  }
38
55
  declare class Image {
39
- worksheet: any;
56
+ worksheet: Worksheet;
40
57
  type?: string;
41
58
  imageId?: string;
42
59
  range?: ImageRange;
43
- constructor(worksheet: any, model?: ModelInput);
60
+ constructor(worksheet: Worksheet, model?: ModelInput);
44
61
  get model(): Model;
45
62
  set model({ type, imageId, range, hyperlinks }: ModelInput);
46
63
  }
47
- export { Image };
64
+ export { Image, type Model as ImageModel, type ImageModelInput };
@@ -19,4 +19,4 @@ interface PivotTable {
19
19
  cacheId: string;
20
20
  }
21
21
  declare function makePivotTable(worksheet: any, model: PivotTableModel): PivotTable;
22
- export { makePivotTable };
22
+ export { makePivotTable, type PivotTable, type PivotTableModel };
@@ -1,3 +1,4 @@
1
+ import type { Address } from "../types.js";
1
2
  interface RangeModel {
2
3
  top: number;
3
4
  left: number;
@@ -13,11 +14,21 @@ interface RowWithDimensions {
13
14
  number: number;
14
15
  dimensions?: RowDimensions;
15
16
  }
17
+ export type RangeInput = Range | RangeModel | string | number | RangeInput[];
16
18
  declare class Range {
17
19
  model: RangeModel;
18
- constructor(...args: any[]);
19
- setTLBR(t: number | string, l?: number | string, b?: number | string, r?: number | string, s?: string): void;
20
- decode(argv: any[]): void;
20
+ constructor();
21
+ constructor(range: Range);
22
+ constructor(model: RangeModel);
23
+ constructor(rangeString: string);
24
+ constructor(args: RangeInput[]);
25
+ constructor(tl: string, br: string);
26
+ constructor(tl: string, br: string, sheetName: string);
27
+ constructor(top: number, left: number, bottom: number, right: number);
28
+ constructor(top: number, left: number, bottom: number, right: number, sheetName: string);
29
+ setTLBR(tl: string, br: string, sheetName?: string): void;
30
+ setTLBR(top: number, left: number, bottom: number, right: number, sheetName?: string): void;
31
+ private decode;
21
32
  get top(): number;
22
33
  set top(value: number);
23
34
  get left(): number;
@@ -44,7 +55,7 @@ declare class Range {
44
55
  toString(): string;
45
56
  intersects(other: Range): boolean;
46
57
  contains(addressStr: string): boolean;
47
- containsEx(address: any): boolean;
58
+ containsEx(address: Address): boolean;
48
59
  forEachAddress(cb: (address: string, row: number, col: number) => void): void;
49
60
  }
50
61
  export { Range };
@@ -1,21 +1,17 @@
1
+ import { Cell, type CellModel, type CellAddress } from "./cell.js";
1
2
  import type { Worksheet } from "./worksheet.js";
2
- interface CellAddress {
3
- address: string;
4
- row: number;
5
- col: number;
6
- $col$row?: string;
7
- }
3
+ import type { Style, NumFmt, Font, Alignment, Protection, Borders, Fill, CellValue, RowValues } from "../types.js";
8
4
  interface RowDimensions {
9
5
  min: number;
10
6
  max: number;
11
7
  }
12
- interface RowModel {
13
- cells: any[];
8
+ export interface RowModel {
9
+ cells: CellModel[];
14
10
  number: number;
15
11
  min: number;
16
12
  max: number;
17
13
  height?: number;
18
- style: any;
14
+ style: Partial<Style>;
19
15
  hidden: boolean;
20
16
  outlineLevel: number;
21
17
  collapsed: boolean;
@@ -24,46 +20,44 @@ interface EachCellOptions {
24
20
  includeEmpty?: boolean;
25
21
  }
26
22
  declare class Row {
27
- _worksheet: Worksheet;
28
- _number: number;
29
- _cells: any[];
30
- style: any;
31
- _hidden?: boolean;
32
- _outlineLevel?: number;
23
+ private _worksheet;
24
+ private _number;
25
+ private _cells;
26
+ style: Partial<Style>;
27
+ private _hidden?;
28
+ private _outlineLevel?;
33
29
  height?: number;
34
- constructor(worksheet: any, number: number);
30
+ constructor(worksheet: Worksheet, number: number);
35
31
  get number(): number;
36
- get worksheet(): any;
32
+ get worksheet(): Worksheet;
37
33
  commit(): void;
38
34
  destroy(): void;
39
- findCell(colNumber: number): any;
40
- getCellEx(address: CellAddress): any;
41
- getCell(col: string | number): any;
42
- splice(start: number, count: number, ...inserts: any[]): void;
43
- eachCell(iteratee: (cell: any, colNumber: number) => void): void;
44
- eachCell(options: EachCellOptions, iteratee: (cell: any, colNumber: number) => void): void;
35
+ findCell(colNumber: number): Cell | undefined;
36
+ getCellEx(address: CellAddress): Cell;
37
+ getCell(col: string | number): Cell;
38
+ splice(start: number, count: number, ...inserts: CellValue[]): void;
39
+ eachCell(iteratee: (cell: Cell, colNumber: number) => void): void;
40
+ eachCell(options: EachCellOptions, iteratee: (cell: Cell, colNumber: number) => void): void;
45
41
  addPageBreak(lft?: number, rght?: number): void;
46
- get values(): any[];
47
- set values(value: any[] | {
48
- [key: string]: any;
49
- });
42
+ get values(): CellValue[];
43
+ set values(value: RowValues);
50
44
  get hasValues(): boolean;
51
45
  get cellCount(): number;
52
46
  get actualCellCount(): number;
53
47
  get dimensions(): RowDimensions | null;
54
- _applyStyle(name: string, value: any): any;
55
- get numFmt(): any;
56
- set numFmt(value: any);
57
- get font(): any;
58
- set font(value: any);
59
- get alignment(): any;
60
- set alignment(value: any);
61
- get protection(): any;
62
- set protection(value: any);
63
- get border(): any;
64
- set border(value: any);
65
- get fill(): any;
66
- set fill(value: any);
48
+ private _applyStyle;
49
+ get numFmt(): string | NumFmt | undefined;
50
+ set numFmt(value: string | undefined);
51
+ get font(): Partial<Font> | undefined;
52
+ set font(value: Partial<Font> | undefined);
53
+ get alignment(): Partial<Alignment> | undefined;
54
+ set alignment(value: Partial<Alignment> | undefined);
55
+ get protection(): Partial<Protection> | undefined;
56
+ set protection(value: Partial<Protection> | undefined);
57
+ get border(): Partial<Borders> | undefined;
58
+ set border(value: Partial<Borders> | undefined);
59
+ get fill(): Fill | undefined;
60
+ set fill(value: Fill | undefined);
67
61
  get hidden(): boolean;
68
62
  set hidden(value: boolean);
69
63
  get outlineLevel(): number;
@@ -1,75 +1,60 @@
1
- interface ColumnModel {
2
- name: string;
3
- filterButton?: boolean;
4
- style?: any;
5
- totalsRowLabel?: string;
6
- totalsRowFunction?: string;
7
- totalsRowResult?: any;
8
- totalsRowFormula?: string;
9
- }
10
- interface TableStyle {
11
- theme?: string;
12
- name?: string;
13
- showFirstColumn?: boolean;
14
- showLastColumn?: boolean;
15
- showRowStripes?: boolean;
16
- showColumnStripes?: boolean;
17
- }
1
+ import type { Address, CellFormulaValue, CellValue, Style, TableColumnProperties, TableStyleProperties } from "../types.js";
2
+ import type { Worksheet } from "./worksheet.js";
18
3
  interface TableModel {
19
4
  ref: string;
20
5
  name: string;
21
6
  displayName?: string;
22
- columns: ColumnModel[];
23
- rows: any[][];
7
+ columns: TableColumnProperties[];
8
+ rows: CellValue[][];
24
9
  headerRow?: boolean;
25
10
  totalsRow?: boolean;
26
- style: TableStyle;
27
- tl?: any;
11
+ style?: TableStyleProperties;
12
+ tl?: Address;
28
13
  autoFilterRef?: string;
29
14
  tableRef?: string;
30
15
  }
31
16
  declare class Column {
32
17
  table: Table;
33
- column: ColumnModel;
18
+ column: TableColumnProperties;
34
19
  index: number;
35
- constructor(table: Table, column: ColumnModel, index: number);
20
+ constructor(table: Table, column: TableColumnProperties, index: number);
36
21
  private _set;
37
22
  get name(): string;
38
23
  set name(value: string);
39
24
  get filterButton(): boolean | undefined;
40
25
  set filterButton(value: boolean | undefined);
41
- get style(): any;
42
- set style(value: any);
26
+ get style(): Partial<Style> | undefined;
27
+ set style(value: Partial<Style> | undefined);
43
28
  get totalsRowLabel(): string | undefined;
44
29
  set totalsRowLabel(value: string | undefined);
45
- get totalsRowFunction(): string | undefined;
46
- set totalsRowFunction(value: string | undefined);
47
- get totalsRowResult(): any;
48
- set totalsRowResult(value: any);
30
+ get totalsRowFunction(): TableColumnProperties["totalsRowFunction"];
31
+ set totalsRowFunction(value: TableColumnProperties["totalsRowFunction"]);
32
+ get totalsRowResult(): CellValue;
33
+ set totalsRowResult(value: CellFormulaValue["result"]);
49
34
  get totalsRowFormula(): string | undefined;
50
35
  set totalsRowFormula(value: string | undefined);
51
36
  }
52
37
  declare class Table {
53
- worksheet: any;
38
+ worksheet: Worksheet;
54
39
  table: TableModel;
55
40
  private _cache?;
56
- constructor(worksheet: any, table?: TableModel);
57
- getFormula(column: ColumnModel): string | null;
41
+ constructor(worksheet: Worksheet, table?: TableModel);
42
+ getFormula(column: TableColumnProperties): string | null;
58
43
  get width(): number;
59
44
  get height(): number;
60
45
  get filterHeight(): number;
61
46
  get tableHeight(): number;
62
47
  validate(): void;
63
48
  store(): void;
64
- load(worksheet: any): void;
49
+ load(worksheet: Worksheet): void;
65
50
  get model(): TableModel;
66
51
  set model(value: TableModel);
67
52
  cacheState(): void;
68
53
  commit(): void;
69
- addRow(values: any[], rowNumber?: number): void;
54
+ addRow(values: CellValue[], rowNumber?: number): void;
70
55
  removeRows(rowIndex: number, count?: number): void;
71
56
  getColumn(colIndex: number): Column;
72
- addColumn(column: ColumnModel, values: any[], colIndex?: number): void;
57
+ addColumn(column: TableColumnProperties, values: CellValue[], colIndex?: number): void;
73
58
  removeColumns(colIndex: number, count?: number): void;
74
59
  private _assign;
75
60
  get ref(): string;
@@ -93,4 +78,4 @@ declare class Table {
93
78
  get showColumnStripes(): boolean | undefined;
94
79
  set showColumnStripes(value: boolean | undefined);
95
80
  }
96
- export { Table };
81
+ export { Table, type TableModel };