@dimarborda/xlsx-editor 0.1.0 → 0.3.0
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/README.md +43 -229
- package/package.json +4 -2
- package/src/draw.js +12 -3
- package/src/elements.js +1 -0
- package/src/engine.d.ts +49 -2
- package/src/engine.js +169 -2
- package/src/find.js +37 -0
- package/src/grid.js +101 -2
- package/src/index.d.ts +86 -4
- package/src/style.css +154 -1
- package/src/xlsx_editor.js +1531 -56
- package/wasm/xlsx_engine.d.ts +68 -1
- package/wasm/xlsx_engine.js +211 -1
- package/wasm/xlsx_engine_bg.wasm +0 -0
- package/wasm/xlsx_engine_bg.wasm.d.ts +13 -0
package/wasm/xlsx_engine.d.ts
CHANGED
|
@@ -7,6 +7,11 @@
|
|
|
7
7
|
export class XlsxWorkbook {
|
|
8
8
|
free(): void;
|
|
9
9
|
[Symbol.dispose](): void;
|
|
10
|
+
/**
|
|
11
|
+
* Adds an empty worksheet after the tab at `after` (at the end without it); returns its
|
|
12
|
+
* tab position
|
|
13
|
+
*/
|
|
14
|
+
add_sheet(name: string, after?: number | null): number;
|
|
10
15
|
/**
|
|
11
16
|
* Context of an area for an agent (see `Workbook::area_context`): `target` is a table or
|
|
12
17
|
* defined name, an address with its sheet, or a range of the sheet at `sheet`
|
|
@@ -31,14 +36,38 @@ export class XlsxWorkbook {
|
|
|
31
36
|
* Back to the default format for the cells of a range
|
|
32
37
|
*/
|
|
33
38
|
clear_format(sheet: number, range: string): void;
|
|
39
|
+
/**
|
|
40
|
+
* Deletes `count` columns from `first`
|
|
41
|
+
*/
|
|
42
|
+
delete_columns(sheet: number, first: number, count: number): number;
|
|
43
|
+
/**
|
|
44
|
+
* Deletes `count` rows from `first`
|
|
45
|
+
*/
|
|
46
|
+
delete_rows(sheet: number, first: number, count: number): number;
|
|
34
47
|
/**
|
|
35
48
|
* The workbook as .xlsx bytes
|
|
36
49
|
*/
|
|
37
50
|
export_bytes(): Uint8Array;
|
|
51
|
+
/**
|
|
52
|
+
* Fills `target` from `source`, the cells at one of its ends; with `series`, trends continue
|
|
53
|
+
*/
|
|
54
|
+
fill_range(sheet: number, source: string, target: string, series: boolean): void;
|
|
38
55
|
/**
|
|
39
56
|
* Replaces `{{FIELD}}` placeholders with the strings of a JSON object; returns how many
|
|
40
57
|
*/
|
|
41
58
|
fill_template_json(values: string): number;
|
|
59
|
+
/**
|
|
60
|
+
* Numbers as the cell format `style` shows them in the language `locale`
|
|
61
|
+
*/
|
|
62
|
+
format_numbers(style: number, values: Float64Array, locale: string): string[];
|
|
63
|
+
/**
|
|
64
|
+
* `count` empty columns before the column `before`, like the one to their left
|
|
65
|
+
*/
|
|
66
|
+
insert_columns(sheet: number, before: number, count: number): number;
|
|
67
|
+
/**
|
|
68
|
+
* `count` empty rows before the row `before`, like the one above them
|
|
69
|
+
*/
|
|
70
|
+
insert_rows(sheet: number, before: number, count: number): number;
|
|
42
71
|
/**
|
|
43
72
|
* Markers of the shared lexicon (`{{KEY}}`, `{key}`, `[ … ]`, see `ooxml_core::markers`)
|
|
44
73
|
* in the text cells of every worksheet, as JSON:
|
|
@@ -46,6 +75,14 @@ export class XlsxWorkbook {
|
|
|
46
75
|
*/
|
|
47
76
|
markers_json(): string;
|
|
48
77
|
merge_cells(sheet: number, range: string): void;
|
|
78
|
+
/**
|
|
79
|
+
* Moves `count` columns from `first` before the column `before` (see `move_rows`)
|
|
80
|
+
*/
|
|
81
|
+
move_columns(sheet: number, first: number, count: number, before: number): number;
|
|
82
|
+
/**
|
|
83
|
+
* Moves `count` rows from `first` before the row `before`; returns where the first ends up
|
|
84
|
+
*/
|
|
85
|
+
move_rows(sheet: number, first: number, count: number, before: number): number;
|
|
49
86
|
/**
|
|
50
87
|
* An empty workbook with one sheet
|
|
51
88
|
*/
|
|
@@ -70,14 +107,30 @@ export class XlsxWorkbook {
|
|
|
70
107
|
* The region around a cell (Excel's current region) as JSON
|
|
71
108
|
*/
|
|
72
109
|
region_at_json(sheet: number, reference: string): string;
|
|
110
|
+
/**
|
|
111
|
+
* Renames the tab at `sheet` and the references to it; returns how many formulas changed
|
|
112
|
+
*/
|
|
113
|
+
rename_sheet(sheet: number, name: string): number;
|
|
73
114
|
/**
|
|
74
115
|
* Width in characters of the columns `first..=last` (1 = A)
|
|
75
116
|
*/
|
|
76
117
|
set_column_width(sheet: number, first: number, last: number, width: number): void;
|
|
118
|
+
/**
|
|
119
|
+
* Hides or shows the columns `first..=last`
|
|
120
|
+
*/
|
|
121
|
+
set_columns_hidden(sheet: number, first: number, last: number, hidden: boolean): void;
|
|
77
122
|
/**
|
|
78
123
|
* Formats the cells of a range; `format` is JSON (see `format_input`)
|
|
79
124
|
*/
|
|
80
125
|
set_format_json(sheet: number, range: string, format: string): void;
|
|
126
|
+
/**
|
|
127
|
+
* Height in points of the rows `first..=last`; none goes back to the automatic height
|
|
128
|
+
*/
|
|
129
|
+
set_row_height(sheet: number, first: number, last: number, height?: number | null): void;
|
|
130
|
+
/**
|
|
131
|
+
* Hides or shows the rows `first..=last`
|
|
132
|
+
*/
|
|
133
|
+
set_rows_hidden(sheet: number, first: number, last: number, hidden: boolean): void;
|
|
81
134
|
/**
|
|
82
135
|
* Where the selection ended up after the current step (comes back from `redo`)
|
|
83
136
|
*/
|
|
@@ -88,7 +141,8 @@ export class XlsxWorkbook {
|
|
|
88
141
|
set_values_json(sheet: number, start: string, rows: string): void;
|
|
89
142
|
/**
|
|
90
143
|
* Cells of the sheet at `sheet` that show something, formatted in the language `locale`
|
|
91
|
-
* (`es`, `en-US`…), as JSON rows `[row, col, style, text, kind, color
|
|
144
|
+
* (`es`, `en-US`…), as JSON rows `[row, col, style, text, kind, color, number]` (the last two
|
|
145
|
+
* only when there is something to say: numbers carry `number`, with `color` null if none)
|
|
92
146
|
*/
|
|
93
147
|
sheet_cells_json(sheet: number, locale: string): string;
|
|
94
148
|
/**
|
|
@@ -125,6 +179,7 @@ export interface InitOutput {
|
|
|
125
179
|
readonly memory: WebAssembly.Memory;
|
|
126
180
|
readonly __wbg_xlsxworkbook_free: (a: number, b: number) => void;
|
|
127
181
|
readonly main_js: () => void;
|
|
182
|
+
readonly xlsxworkbook_add_sheet: (a: number, b: number, c: number, d: number) => [number, number, number];
|
|
128
183
|
readonly xlsxworkbook_area_context_json: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => [number, number, number, number];
|
|
129
184
|
readonly xlsxworkbook_areas_json: (a: number, b: number) => [number, number, number, number];
|
|
130
185
|
readonly xlsxworkbook_can_redo: (a: number) => number;
|
|
@@ -132,18 +187,30 @@ export interface InitOutput {
|
|
|
132
187
|
readonly xlsxworkbook_cell_json: (a: number, b: number, c: number, d: number) => [number, number, number, number];
|
|
133
188
|
readonly xlsxworkbook_checkpoint: (a: number, b: number, c: number) => void;
|
|
134
189
|
readonly xlsxworkbook_clear_format: (a: number, b: number, c: number, d: number) => [number, number];
|
|
190
|
+
readonly xlsxworkbook_delete_columns: (a: number, b: number, c: number, d: number) => [number, number, number];
|
|
191
|
+
readonly xlsxworkbook_delete_rows: (a: number, b: number, c: number, d: number) => [number, number, number];
|
|
135
192
|
readonly xlsxworkbook_export_bytes: (a: number) => [number, number, number, number];
|
|
193
|
+
readonly xlsxworkbook_fill_range: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => [number, number];
|
|
136
194
|
readonly xlsxworkbook_fill_template_json: (a: number, b: number, c: number) => [number, number, number];
|
|
195
|
+
readonly xlsxworkbook_format_numbers: (a: number, b: number, c: number, d: number, e: number, f: number) => [number, number, number, number];
|
|
196
|
+
readonly xlsxworkbook_insert_columns: (a: number, b: number, c: number, d: number) => [number, number, number];
|
|
197
|
+
readonly xlsxworkbook_insert_rows: (a: number, b: number, c: number, d: number) => [number, number, number];
|
|
137
198
|
readonly xlsxworkbook_markers_json: (a: number) => [number, number, number, number];
|
|
138
199
|
readonly xlsxworkbook_merge_cells: (a: number, b: number, c: number, d: number) => [number, number];
|
|
200
|
+
readonly xlsxworkbook_move_columns: (a: number, b: number, c: number, d: number, e: number) => [number, number, number];
|
|
201
|
+
readonly xlsxworkbook_move_rows: (a: number, b: number, c: number, d: number, e: number) => [number, number, number];
|
|
139
202
|
readonly xlsxworkbook_new: (a: number, b: number) => [number, number, number];
|
|
140
203
|
readonly xlsxworkbook_new_blank: () => [number, number, number];
|
|
141
204
|
readonly xlsxworkbook_range_json: (a: number, b: number, c: number, d: number) => [number, number, number, number];
|
|
142
205
|
readonly xlsxworkbook_recalculate: (a: number) => [number, number, number];
|
|
143
206
|
readonly xlsxworkbook_redo_json: (a: number) => [number, number];
|
|
144
207
|
readonly xlsxworkbook_region_at_json: (a: number, b: number, c: number, d: number) => [number, number, number, number];
|
|
208
|
+
readonly xlsxworkbook_rename_sheet: (a: number, b: number, c: number, d: number) => [number, number, number];
|
|
145
209
|
readonly xlsxworkbook_set_column_width: (a: number, b: number, c: number, d: number, e: number) => [number, number];
|
|
210
|
+
readonly xlsxworkbook_set_columns_hidden: (a: number, b: number, c: number, d: number, e: number) => [number, number];
|
|
146
211
|
readonly xlsxworkbook_set_format_json: (a: number, b: number, c: number, d: number, e: number, f: number) => [number, number];
|
|
212
|
+
readonly xlsxworkbook_set_row_height: (a: number, b: number, c: number, d: number, e: number, f: number) => [number, number];
|
|
213
|
+
readonly xlsxworkbook_set_rows_hidden: (a: number, b: number, c: number, d: number, e: number) => [number, number];
|
|
147
214
|
readonly xlsxworkbook_set_selection_after: (a: number, b: number, c: number) => void;
|
|
148
215
|
readonly xlsxworkbook_set_values_json: (a: number, b: number, c: number, d: number, e: number, f: number) => [number, number];
|
|
149
216
|
readonly xlsxworkbook_sheet_cells_json: (a: number, b: number, c: number, d: number) => [number, number, number, number];
|
package/wasm/xlsx_engine.js
CHANGED
|
@@ -20,6 +20,22 @@ export class XlsxWorkbook {
|
|
|
20
20
|
const ptr = this.__destroy_into_raw();
|
|
21
21
|
wasm.__wbg_xlsxworkbook_free(ptr, 0);
|
|
22
22
|
}
|
|
23
|
+
/**
|
|
24
|
+
* Adds an empty worksheet after the tab at `after` (at the end without it); returns its
|
|
25
|
+
* tab position
|
|
26
|
+
* @param {string} name
|
|
27
|
+
* @param {number | null} [after]
|
|
28
|
+
* @returns {number}
|
|
29
|
+
*/
|
|
30
|
+
add_sheet(name, after) {
|
|
31
|
+
const ptr0 = passStringToWasm0(name, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
|
|
32
|
+
const len0 = WASM_VECTOR_LEN;
|
|
33
|
+
const ret = wasm.xlsxworkbook_add_sheet(this.__wbg_ptr, ptr0, len0, isLikeNone(after) ? Number.MAX_SAFE_INTEGER : (after) >>> 0);
|
|
34
|
+
if (ret[2]) {
|
|
35
|
+
throw takeFromExternrefTable0(ret[1]);
|
|
36
|
+
}
|
|
37
|
+
return ret[0] >>> 0;
|
|
38
|
+
}
|
|
23
39
|
/**
|
|
24
40
|
* Context of an area for an agent (see `Workbook::area_context`): `target` is a table or
|
|
25
41
|
* defined name, an address with its sheet, or a range of the sheet at `sheet`
|
|
@@ -137,6 +153,34 @@ export class XlsxWorkbook {
|
|
|
137
153
|
throw takeFromExternrefTable0(ret[0]);
|
|
138
154
|
}
|
|
139
155
|
}
|
|
156
|
+
/**
|
|
157
|
+
* Deletes `count` columns from `first`
|
|
158
|
+
* @param {number} sheet
|
|
159
|
+
* @param {number} first
|
|
160
|
+
* @param {number} count
|
|
161
|
+
* @returns {number}
|
|
162
|
+
*/
|
|
163
|
+
delete_columns(sheet, first, count) {
|
|
164
|
+
const ret = wasm.xlsxworkbook_delete_columns(this.__wbg_ptr, sheet, first, count);
|
|
165
|
+
if (ret[2]) {
|
|
166
|
+
throw takeFromExternrefTable0(ret[1]);
|
|
167
|
+
}
|
|
168
|
+
return ret[0] >>> 0;
|
|
169
|
+
}
|
|
170
|
+
/**
|
|
171
|
+
* Deletes `count` rows from `first`
|
|
172
|
+
* @param {number} sheet
|
|
173
|
+
* @param {number} first
|
|
174
|
+
* @param {number} count
|
|
175
|
+
* @returns {number}
|
|
176
|
+
*/
|
|
177
|
+
delete_rows(sheet, first, count) {
|
|
178
|
+
const ret = wasm.xlsxworkbook_delete_rows(this.__wbg_ptr, sheet, first, count);
|
|
179
|
+
if (ret[2]) {
|
|
180
|
+
throw takeFromExternrefTable0(ret[1]);
|
|
181
|
+
}
|
|
182
|
+
return ret[0] >>> 0;
|
|
183
|
+
}
|
|
140
184
|
/**
|
|
141
185
|
* The workbook as .xlsx bytes
|
|
142
186
|
* @returns {Uint8Array}
|
|
@@ -150,6 +194,23 @@ export class XlsxWorkbook {
|
|
|
150
194
|
wasm.__wbindgen_free(ret[0], ret[1] * 1, 1);
|
|
151
195
|
return v1;
|
|
152
196
|
}
|
|
197
|
+
/**
|
|
198
|
+
* Fills `target` from `source`, the cells at one of its ends; with `series`, trends continue
|
|
199
|
+
* @param {number} sheet
|
|
200
|
+
* @param {string} source
|
|
201
|
+
* @param {string} target
|
|
202
|
+
* @param {boolean} series
|
|
203
|
+
*/
|
|
204
|
+
fill_range(sheet, source, target, series) {
|
|
205
|
+
const ptr0 = passStringToWasm0(source, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
|
|
206
|
+
const len0 = WASM_VECTOR_LEN;
|
|
207
|
+
const ptr1 = passStringToWasm0(target, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
|
|
208
|
+
const len1 = WASM_VECTOR_LEN;
|
|
209
|
+
const ret = wasm.xlsxworkbook_fill_range(this.__wbg_ptr, sheet, ptr0, len0, ptr1, len1, series);
|
|
210
|
+
if (ret[1]) {
|
|
211
|
+
throw takeFromExternrefTable0(ret[0]);
|
|
212
|
+
}
|
|
213
|
+
}
|
|
153
214
|
/**
|
|
154
215
|
* Replaces `{{FIELD}}` placeholders with the strings of a JSON object; returns how many
|
|
155
216
|
* @param {string} values
|
|
@@ -164,6 +225,54 @@ export class XlsxWorkbook {
|
|
|
164
225
|
}
|
|
165
226
|
return ret[0] >>> 0;
|
|
166
227
|
}
|
|
228
|
+
/**
|
|
229
|
+
* Numbers as the cell format `style` shows them in the language `locale`
|
|
230
|
+
* @param {number} style
|
|
231
|
+
* @param {Float64Array} values
|
|
232
|
+
* @param {string} locale
|
|
233
|
+
* @returns {string[]}
|
|
234
|
+
*/
|
|
235
|
+
format_numbers(style, values, locale) {
|
|
236
|
+
const ptr0 = passArrayF64ToWasm0(values, wasm.__wbindgen_malloc);
|
|
237
|
+
const len0 = WASM_VECTOR_LEN;
|
|
238
|
+
const ptr1 = passStringToWasm0(locale, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
|
|
239
|
+
const len1 = WASM_VECTOR_LEN;
|
|
240
|
+
const ret = wasm.xlsxworkbook_format_numbers(this.__wbg_ptr, style, ptr0, len0, ptr1, len1);
|
|
241
|
+
if (ret[3]) {
|
|
242
|
+
throw takeFromExternrefTable0(ret[2]);
|
|
243
|
+
}
|
|
244
|
+
var v3 = getArrayJsValueFromWasm0(ret[0], ret[1]);
|
|
245
|
+
wasm.__wbindgen_free(ret[0], ret[1] * 4, 4);
|
|
246
|
+
return v3;
|
|
247
|
+
}
|
|
248
|
+
/**
|
|
249
|
+
* `count` empty columns before the column `before`, like the one to their left
|
|
250
|
+
* @param {number} sheet
|
|
251
|
+
* @param {number} before
|
|
252
|
+
* @param {number} count
|
|
253
|
+
* @returns {number}
|
|
254
|
+
*/
|
|
255
|
+
insert_columns(sheet, before, count) {
|
|
256
|
+
const ret = wasm.xlsxworkbook_insert_columns(this.__wbg_ptr, sheet, before, count);
|
|
257
|
+
if (ret[2]) {
|
|
258
|
+
throw takeFromExternrefTable0(ret[1]);
|
|
259
|
+
}
|
|
260
|
+
return ret[0] >>> 0;
|
|
261
|
+
}
|
|
262
|
+
/**
|
|
263
|
+
* `count` empty rows before the row `before`, like the one above them
|
|
264
|
+
* @param {number} sheet
|
|
265
|
+
* @param {number} before
|
|
266
|
+
* @param {number} count
|
|
267
|
+
* @returns {number}
|
|
268
|
+
*/
|
|
269
|
+
insert_rows(sheet, before, count) {
|
|
270
|
+
const ret = wasm.xlsxworkbook_insert_rows(this.__wbg_ptr, sheet, before, count);
|
|
271
|
+
if (ret[2]) {
|
|
272
|
+
throw takeFromExternrefTable0(ret[1]);
|
|
273
|
+
}
|
|
274
|
+
return ret[0] >>> 0;
|
|
275
|
+
}
|
|
167
276
|
/**
|
|
168
277
|
* Markers of the shared lexicon (`{{KEY}}`, `{key}`, `[ … ]`, see `ooxml_core::markers`)
|
|
169
278
|
* in the text cells of every worksheet, as JSON:
|
|
@@ -200,6 +309,36 @@ export class XlsxWorkbook {
|
|
|
200
309
|
throw takeFromExternrefTable0(ret[0]);
|
|
201
310
|
}
|
|
202
311
|
}
|
|
312
|
+
/**
|
|
313
|
+
* Moves `count` columns from `first` before the column `before` (see `move_rows`)
|
|
314
|
+
* @param {number} sheet
|
|
315
|
+
* @param {number} first
|
|
316
|
+
* @param {number} count
|
|
317
|
+
* @param {number} before
|
|
318
|
+
* @returns {number}
|
|
319
|
+
*/
|
|
320
|
+
move_columns(sheet, first, count, before) {
|
|
321
|
+
const ret = wasm.xlsxworkbook_move_columns(this.__wbg_ptr, sheet, first, count, before);
|
|
322
|
+
if (ret[2]) {
|
|
323
|
+
throw takeFromExternrefTable0(ret[1]);
|
|
324
|
+
}
|
|
325
|
+
return ret[0] >>> 0;
|
|
326
|
+
}
|
|
327
|
+
/**
|
|
328
|
+
* Moves `count` rows from `first` before the row `before`; returns where the first ends up
|
|
329
|
+
* @param {number} sheet
|
|
330
|
+
* @param {number} first
|
|
331
|
+
* @param {number} count
|
|
332
|
+
* @param {number} before
|
|
333
|
+
* @returns {number}
|
|
334
|
+
*/
|
|
335
|
+
move_rows(sheet, first, count, before) {
|
|
336
|
+
const ret = wasm.xlsxworkbook_move_rows(this.__wbg_ptr, sheet, first, count, before);
|
|
337
|
+
if (ret[2]) {
|
|
338
|
+
throw takeFromExternrefTable0(ret[1]);
|
|
339
|
+
}
|
|
340
|
+
return ret[0] >>> 0;
|
|
341
|
+
}
|
|
203
342
|
/**
|
|
204
343
|
* An empty workbook with one sheet
|
|
205
344
|
* @returns {XlsxWorkbook}
|
|
@@ -305,6 +444,21 @@ export class XlsxWorkbook {
|
|
|
305
444
|
wasm.__wbindgen_free(deferred3_0, deferred3_1, 1);
|
|
306
445
|
}
|
|
307
446
|
}
|
|
447
|
+
/**
|
|
448
|
+
* Renames the tab at `sheet` and the references to it; returns how many formulas changed
|
|
449
|
+
* @param {number} sheet
|
|
450
|
+
* @param {string} name
|
|
451
|
+
* @returns {number}
|
|
452
|
+
*/
|
|
453
|
+
rename_sheet(sheet, name) {
|
|
454
|
+
const ptr0 = passStringToWasm0(name, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
|
|
455
|
+
const len0 = WASM_VECTOR_LEN;
|
|
456
|
+
const ret = wasm.xlsxworkbook_rename_sheet(this.__wbg_ptr, sheet, ptr0, len0);
|
|
457
|
+
if (ret[2]) {
|
|
458
|
+
throw takeFromExternrefTable0(ret[1]);
|
|
459
|
+
}
|
|
460
|
+
return ret[0] >>> 0;
|
|
461
|
+
}
|
|
308
462
|
/**
|
|
309
463
|
* Width in characters of the columns `first..=last` (1 = A)
|
|
310
464
|
* @param {number} sheet
|
|
@@ -318,6 +472,19 @@ export class XlsxWorkbook {
|
|
|
318
472
|
throw takeFromExternrefTable0(ret[0]);
|
|
319
473
|
}
|
|
320
474
|
}
|
|
475
|
+
/**
|
|
476
|
+
* Hides or shows the columns `first..=last`
|
|
477
|
+
* @param {number} sheet
|
|
478
|
+
* @param {number} first
|
|
479
|
+
* @param {number} last
|
|
480
|
+
* @param {boolean} hidden
|
|
481
|
+
*/
|
|
482
|
+
set_columns_hidden(sheet, first, last, hidden) {
|
|
483
|
+
const ret = wasm.xlsxworkbook_set_columns_hidden(this.__wbg_ptr, sheet, first, last, hidden);
|
|
484
|
+
if (ret[1]) {
|
|
485
|
+
throw takeFromExternrefTable0(ret[0]);
|
|
486
|
+
}
|
|
487
|
+
}
|
|
321
488
|
/**
|
|
322
489
|
* Formats the cells of a range; `format` is JSON (see `format_input`)
|
|
323
490
|
* @param {number} sheet
|
|
@@ -334,6 +501,32 @@ export class XlsxWorkbook {
|
|
|
334
501
|
throw takeFromExternrefTable0(ret[0]);
|
|
335
502
|
}
|
|
336
503
|
}
|
|
504
|
+
/**
|
|
505
|
+
* Height in points of the rows `first..=last`; none goes back to the automatic height
|
|
506
|
+
* @param {number} sheet
|
|
507
|
+
* @param {number} first
|
|
508
|
+
* @param {number} last
|
|
509
|
+
* @param {number | null} [height]
|
|
510
|
+
*/
|
|
511
|
+
set_row_height(sheet, first, last, height) {
|
|
512
|
+
const ret = wasm.xlsxworkbook_set_row_height(this.__wbg_ptr, sheet, first, last, !isLikeNone(height), isLikeNone(height) ? 0 : height);
|
|
513
|
+
if (ret[1]) {
|
|
514
|
+
throw takeFromExternrefTable0(ret[0]);
|
|
515
|
+
}
|
|
516
|
+
}
|
|
517
|
+
/**
|
|
518
|
+
* Hides or shows the rows `first..=last`
|
|
519
|
+
* @param {number} sheet
|
|
520
|
+
* @param {number} first
|
|
521
|
+
* @param {number} last
|
|
522
|
+
* @param {boolean} hidden
|
|
523
|
+
*/
|
|
524
|
+
set_rows_hidden(sheet, first, last, hidden) {
|
|
525
|
+
const ret = wasm.xlsxworkbook_set_rows_hidden(this.__wbg_ptr, sheet, first, last, hidden);
|
|
526
|
+
if (ret[1]) {
|
|
527
|
+
throw takeFromExternrefTable0(ret[0]);
|
|
528
|
+
}
|
|
529
|
+
}
|
|
337
530
|
/**
|
|
338
531
|
* Where the selection ended up after the current step (comes back from `redo`)
|
|
339
532
|
* @param {string | null} [selection]
|
|
@@ -361,7 +554,8 @@ export class XlsxWorkbook {
|
|
|
361
554
|
}
|
|
362
555
|
/**
|
|
363
556
|
* Cells of the sheet at `sheet` that show something, formatted in the language `locale`
|
|
364
|
-
* (`es`, `en-US`…), as JSON rows `[row, col, style, text, kind, color
|
|
557
|
+
* (`es`, `en-US`…), as JSON rows `[row, col, style, text, kind, color, number]` (the last two
|
|
558
|
+
* only when there is something to say: numbers carry `number`, with `color` null if none)
|
|
365
559
|
* @param {number} sheet
|
|
366
560
|
* @param {string} locale
|
|
367
561
|
* @returns {string}
|
|
@@ -592,6 +786,14 @@ function getDataViewMemory0() {
|
|
|
592
786
|
return cachedDataViewMemory0;
|
|
593
787
|
}
|
|
594
788
|
|
|
789
|
+
let cachedFloat64ArrayMemory0 = null;
|
|
790
|
+
function getFloat64ArrayMemory0() {
|
|
791
|
+
if (cachedFloat64ArrayMemory0 === null || cachedFloat64ArrayMemory0.byteLength === 0) {
|
|
792
|
+
cachedFloat64ArrayMemory0 = new Float64Array(wasm.memory.buffer);
|
|
793
|
+
}
|
|
794
|
+
return cachedFloat64ArrayMemory0;
|
|
795
|
+
}
|
|
796
|
+
|
|
595
797
|
function getStringFromWasm0(ptr, len) {
|
|
596
798
|
return decodeText(ptr >>> 0, len);
|
|
597
799
|
}
|
|
@@ -615,6 +817,13 @@ function passArray8ToWasm0(arg, malloc) {
|
|
|
615
817
|
return ptr;
|
|
616
818
|
}
|
|
617
819
|
|
|
820
|
+
function passArrayF64ToWasm0(arg, malloc) {
|
|
821
|
+
const ptr = malloc(arg.length * 8, 8) >>> 0;
|
|
822
|
+
getFloat64ArrayMemory0().set(arg, ptr / 8);
|
|
823
|
+
WASM_VECTOR_LEN = arg.length;
|
|
824
|
+
return ptr;
|
|
825
|
+
}
|
|
826
|
+
|
|
618
827
|
function passStringToWasm0(arg, malloc, realloc) {
|
|
619
828
|
if (realloc === undefined) {
|
|
620
829
|
const buf = cachedTextEncoder.encode(arg);
|
|
@@ -693,6 +902,7 @@ function __wbg_finalize_init(instance, module) {
|
|
|
693
902
|
wasm = instance.exports;
|
|
694
903
|
wasmModule = module;
|
|
695
904
|
cachedDataViewMemory0 = null;
|
|
905
|
+
cachedFloat64ArrayMemory0 = null;
|
|
696
906
|
cachedUint8ArrayMemory0 = null;
|
|
697
907
|
wasm.__wbindgen_start();
|
|
698
908
|
return wasm;
|
package/wasm/xlsx_engine_bg.wasm
CHANGED
|
Binary file
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
export const memory: WebAssembly.Memory;
|
|
4
4
|
export const __wbg_xlsxworkbook_free: (a: number, b: number) => void;
|
|
5
5
|
export const main_js: () => void;
|
|
6
|
+
export const xlsxworkbook_add_sheet: (a: number, b: number, c: number, d: number) => [number, number, number];
|
|
6
7
|
export const xlsxworkbook_area_context_json: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => [number, number, number, number];
|
|
7
8
|
export const xlsxworkbook_areas_json: (a: number, b: number) => [number, number, number, number];
|
|
8
9
|
export const xlsxworkbook_can_redo: (a: number) => number;
|
|
@@ -10,18 +11,30 @@ export const xlsxworkbook_can_undo: (a: number) => number;
|
|
|
10
11
|
export const xlsxworkbook_cell_json: (a: number, b: number, c: number, d: number) => [number, number, number, number];
|
|
11
12
|
export const xlsxworkbook_checkpoint: (a: number, b: number, c: number) => void;
|
|
12
13
|
export const xlsxworkbook_clear_format: (a: number, b: number, c: number, d: number) => [number, number];
|
|
14
|
+
export const xlsxworkbook_delete_columns: (a: number, b: number, c: number, d: number) => [number, number, number];
|
|
15
|
+
export const xlsxworkbook_delete_rows: (a: number, b: number, c: number, d: number) => [number, number, number];
|
|
13
16
|
export const xlsxworkbook_export_bytes: (a: number) => [number, number, number, number];
|
|
17
|
+
export const xlsxworkbook_fill_range: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => [number, number];
|
|
14
18
|
export const xlsxworkbook_fill_template_json: (a: number, b: number, c: number) => [number, number, number];
|
|
19
|
+
export const xlsxworkbook_format_numbers: (a: number, b: number, c: number, d: number, e: number, f: number) => [number, number, number, number];
|
|
20
|
+
export const xlsxworkbook_insert_columns: (a: number, b: number, c: number, d: number) => [number, number, number];
|
|
21
|
+
export const xlsxworkbook_insert_rows: (a: number, b: number, c: number, d: number) => [number, number, number];
|
|
15
22
|
export const xlsxworkbook_markers_json: (a: number) => [number, number, number, number];
|
|
16
23
|
export const xlsxworkbook_merge_cells: (a: number, b: number, c: number, d: number) => [number, number];
|
|
24
|
+
export const xlsxworkbook_move_columns: (a: number, b: number, c: number, d: number, e: number) => [number, number, number];
|
|
25
|
+
export const xlsxworkbook_move_rows: (a: number, b: number, c: number, d: number, e: number) => [number, number, number];
|
|
17
26
|
export const xlsxworkbook_new: (a: number, b: number) => [number, number, number];
|
|
18
27
|
export const xlsxworkbook_new_blank: () => [number, number, number];
|
|
19
28
|
export const xlsxworkbook_range_json: (a: number, b: number, c: number, d: number) => [number, number, number, number];
|
|
20
29
|
export const xlsxworkbook_recalculate: (a: number) => [number, number, number];
|
|
21
30
|
export const xlsxworkbook_redo_json: (a: number) => [number, number];
|
|
22
31
|
export const xlsxworkbook_region_at_json: (a: number, b: number, c: number, d: number) => [number, number, number, number];
|
|
32
|
+
export const xlsxworkbook_rename_sheet: (a: number, b: number, c: number, d: number) => [number, number, number];
|
|
23
33
|
export const xlsxworkbook_set_column_width: (a: number, b: number, c: number, d: number, e: number) => [number, number];
|
|
34
|
+
export const xlsxworkbook_set_columns_hidden: (a: number, b: number, c: number, d: number, e: number) => [number, number];
|
|
24
35
|
export const xlsxworkbook_set_format_json: (a: number, b: number, c: number, d: number, e: number, f: number) => [number, number];
|
|
36
|
+
export const xlsxworkbook_set_row_height: (a: number, b: number, c: number, d: number, e: number, f: number) => [number, number];
|
|
37
|
+
export const xlsxworkbook_set_rows_hidden: (a: number, b: number, c: number, d: number, e: number) => [number, number];
|
|
25
38
|
export const xlsxworkbook_set_selection_after: (a: number, b: number, c: number) => void;
|
|
26
39
|
export const xlsxworkbook_set_values_json: (a: number, b: number, c: number, d: number, e: number, f: number) => [number, number];
|
|
27
40
|
export const xlsxworkbook_sheet_cells_json: (a: number, b: number, c: number, d: number) => [number, number, number, number];
|