@bilig/excel-import 0.14.14
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/LICENSE +1 -0
- package/README.md +165 -0
- package/dist/index.d.ts +31 -0
- package/dist/index.js +748 -0
- package/dist/index.js.map +1 -0
- package/dist/workbook-import-content-types.d.ts +10 -0
- package/dist/workbook-import-content-types.js +30 -0
- package/dist/workbook-import-content-types.js.map +1 -0
- package/dist/workbook-import-helpers.d.ts +21 -0
- package/dist/workbook-import-helpers.js +77 -0
- package/dist/workbook-import-helpers.js.map +1 -0
- package/dist/workbook-import-preview.d.ts +19 -0
- package/dist/workbook-import-preview.js +12 -0
- package/dist/workbook-import-preview.js.map +1 -0
- package/dist/xlsx-array-formulas.d.ts +6 -0
- package/dist/xlsx-array-formulas.js +186 -0
- package/dist/xlsx-array-formulas.js.map +1 -0
- package/dist/xlsx-axis-entries.d.ts +3 -0
- package/dist/xlsx-axis-entries.js +90 -0
- package/dist/xlsx-axis-entries.js.map +1 -0
- package/dist/xlsx-calculation-settings.d.ts +9 -0
- package/dist/xlsx-calculation-settings.js +198 -0
- package/dist/xlsx-calculation-settings.js.map +1 -0
- package/dist/xlsx-cell-insertion.d.ts +11 -0
- package/dist/xlsx-cell-insertion.js +164 -0
- package/dist/xlsx-cell-insertion.js.map +1 -0
- package/dist/xlsx-cell-metadata.d.ts +15 -0
- package/dist/xlsx-cell-metadata.js +380 -0
- package/dist/xlsx-cell-metadata.js.map +1 -0
- package/dist/xlsx-chart-artifacts.d.ts +7 -0
- package/dist/xlsx-chart-artifacts.js +327 -0
- package/dist/xlsx-chart-artifacts.js.map +1 -0
- package/dist/xlsx-charts.d.ts +4 -0
- package/dist/xlsx-charts.js +671 -0
- package/dist/xlsx-charts.js.map +1 -0
- package/dist/xlsx-comment-vml.d.ts +11 -0
- package/dist/xlsx-comment-vml.js +292 -0
- package/dist/xlsx-comment-vml.js.map +1 -0
- package/dist/xlsx-comments.d.ts +7 -0
- package/dist/xlsx-comments.js +120 -0
- package/dist/xlsx-comments.js.map +1 -0
- package/dist/xlsx-conditional-formats.d.ts +5 -0
- package/dist/xlsx-conditional-formats.js +513 -0
- package/dist/xlsx-conditional-formats.js.map +1 -0
- package/dist/xlsx-control-artifacts.d.ts +7 -0
- package/dist/xlsx-control-artifacts.js +404 -0
- package/dist/xlsx-control-artifacts.js.map +1 -0
- package/dist/xlsx-data-model-artifacts.d.ts +4 -0
- package/dist/xlsx-data-model-artifacts.js +240 -0
- package/dist/xlsx-data-model-artifacts.js.map +1 -0
- package/dist/xlsx-data-table-formulas.d.ts +4 -0
- package/dist/xlsx-data-table-formulas.js +138 -0
- package/dist/xlsx-data-table-formulas.js.map +1 -0
- package/dist/xlsx-defined-names.d.ts +7 -0
- package/dist/xlsx-defined-names.js +292 -0
- package/dist/xlsx-defined-names.js.map +1 -0
- package/dist/xlsx-dimensions.d.ts +4 -0
- package/dist/xlsx-dimensions.js +495 -0
- package/dist/xlsx-dimensions.js.map +1 -0
- package/dist/xlsx-drawing-artifacts.d.ts +7 -0
- package/dist/xlsx-drawing-artifacts.js +477 -0
- package/dist/xlsx-drawing-artifacts.js.map +1 -0
- package/dist/xlsx-escaped-text.d.ts +2 -0
- package/dist/xlsx-escaped-text.js +22 -0
- package/dist/xlsx-escaped-text.js.map +1 -0
- package/dist/xlsx-export-xml.d.ts +8 -0
- package/dist/xlsx-export-xml.js +99 -0
- package/dist/xlsx-export-xml.js.map +1 -0
- package/dist/xlsx-export.d.ts +2 -0
- package/dist/xlsx-export.js +800 -0
- package/dist/xlsx-export.js.map +1 -0
- package/dist/xlsx-external-link-artifacts.d.ts +4 -0
- package/dist/xlsx-external-link-artifacts.js +317 -0
- package/dist/xlsx-external-link-artifacts.js.map +1 -0
- package/dist/xlsx-external-references.d.ts +29 -0
- package/dist/xlsx-external-references.js +356 -0
- package/dist/xlsx-external-references.js.map +1 -0
- package/dist/xlsx-filters.d.ts +4 -0
- package/dist/xlsx-filters.js +273 -0
- package/dist/xlsx-filters.js.map +1 -0
- package/dist/xlsx-formula-translation.d.ts +10 -0
- package/dist/xlsx-formula-translation.js +391 -0
- package/dist/xlsx-formula-translation.js.map +1 -0
- package/dist/xlsx-formulas.d.ts +2 -0
- package/dist/xlsx-formulas.js +136 -0
- package/dist/xlsx-formulas.js.map +1 -0
- package/dist/xlsx-freeze-panes.d.ts +4 -0
- package/dist/xlsx-freeze-panes.js +206 -0
- package/dist/xlsx-freeze-panes.js.map +1 -0
- package/dist/xlsx-hyperlinks.d.ts +5 -0
- package/dist/xlsx-hyperlinks.js +64 -0
- package/dist/xlsx-hyperlinks.js.map +1 -0
- package/dist/xlsx-ignored-errors.d.ts +4 -0
- package/dist/xlsx-ignored-errors.js +106 -0
- package/dist/xlsx-ignored-errors.js.map +1 -0
- package/dist/xlsx-import-cell-styles.d.ts +8 -0
- package/dist/xlsx-import-cell-styles.js +255 -0
- package/dist/xlsx-import-cell-styles.js.map +1 -0
- package/dist/xlsx-import-sheet-metadata.d.ts +40 -0
- package/dist/xlsx-import-sheet-metadata.js +41 -0
- package/dist/xlsx-import-sheet-metadata.js.map +1 -0
- package/dist/xlsx-import-warnings.d.ts +8 -0
- package/dist/xlsx-import-warnings.js +44 -0
- package/dist/xlsx-import-warnings.js.map +1 -0
- package/dist/xlsx-import-workbook-metadata.d.ts +28 -0
- package/dist/xlsx-import-workbook-metadata.js +29 -0
- package/dist/xlsx-import-workbook-metadata.js.map +1 -0
- package/dist/xlsx-macros.d.ts +10 -0
- package/dist/xlsx-macros.js +63 -0
- package/dist/xlsx-macros.js.map +1 -0
- package/dist/xlsx-merge-entries.d.ts +3 -0
- package/dist/xlsx-merge-entries.js +17 -0
- package/dist/xlsx-merge-entries.js.map +1 -0
- package/dist/xlsx-number-formats.d.ts +7 -0
- package/dist/xlsx-number-formats.js +222 -0
- package/dist/xlsx-number-formats.js.map +1 -0
- package/dist/xlsx-pivot-artifacts.d.ts +29 -0
- package/dist/xlsx-pivot-artifacts.js +292 -0
- package/dist/xlsx-pivot-artifacts.js.map +1 -0
- package/dist/xlsx-pivots.d.ts +10 -0
- package/dist/xlsx-pivots.js +589 -0
- package/dist/xlsx-pivots.js.map +1 -0
- package/dist/xlsx-print-page-setup.d.ts +6 -0
- package/dist/xlsx-print-page-setup.js +224 -0
- package/dist/xlsx-print-page-setup.js.map +1 -0
- package/dist/xlsx-printer-settings.d.ts +4 -0
- package/dist/xlsx-printer-settings.js +279 -0
- package/dist/xlsx-printer-settings.js.map +1 -0
- package/dist/xlsx-protected-ranges.d.ts +4 -0
- package/dist/xlsx-protected-ranges.js +183 -0
- package/dist/xlsx-protected-ranges.js.map +1 -0
- package/dist/xlsx-rich-text-artifacts.d.ts +4 -0
- package/dist/xlsx-rich-text-artifacts.js +303 -0
- package/dist/xlsx-rich-text-artifacts.js.map +1 -0
- package/dist/xlsx-sheet-properties.d.ts +4 -0
- package/dist/xlsx-sheet-properties.js +89 -0
- package/dist/xlsx-sheet-properties.js.map +1 -0
- package/dist/xlsx-sheet-protection.d.ts +4 -0
- package/dist/xlsx-sheet-protection.js +153 -0
- package/dist/xlsx-sheet-protection.js.map +1 -0
- package/dist/xlsx-sheet-visibility.d.ts +4 -0
- package/dist/xlsx-sheet-visibility.js +53 -0
- package/dist/xlsx-sheet-visibility.js.map +1 -0
- package/dist/xlsx-slicer-connection-artifacts.d.ts +4 -0
- package/dist/xlsx-slicer-connection-artifacts.js +426 -0
- package/dist/xlsx-slicer-connection-artifacts.js.map +1 -0
- package/dist/xlsx-sorts.d.ts +5 -0
- package/dist/xlsx-sorts.js +216 -0
- package/dist/xlsx-sorts.js.map +1 -0
- package/dist/xlsx-sparklines.d.ts +4 -0
- package/dist/xlsx-sparklines.js +115 -0
- package/dist/xlsx-sparklines.js.map +1 -0
- package/dist/xlsx-style-only-blank-cells.d.ts +3 -0
- package/dist/xlsx-style-only-blank-cells.js +96 -0
- package/dist/xlsx-style-only-blank-cells.js.map +1 -0
- package/dist/xlsx-style-runs.d.ts +12 -0
- package/dist/xlsx-style-runs.js +35 -0
- package/dist/xlsx-style-runs.js.map +1 -0
- package/dist/xlsx-styles.d.ts +25 -0
- package/dist/xlsx-styles.js +857 -0
- package/dist/xlsx-styles.js.map +1 -0
- package/dist/xlsx-tab-colors.d.ts +4 -0
- package/dist/xlsx-tab-colors.js +166 -0
- package/dist/xlsx-tab-colors.js.map +1 -0
- package/dist/xlsx-tables.d.ts +4 -0
- package/dist/xlsx-tables.js +371 -0
- package/dist/xlsx-tables.js.map +1 -0
- package/dist/xlsx-theme-artifacts.d.ts +6 -0
- package/dist/xlsx-theme-artifacts.js +126 -0
- package/dist/xlsx-theme-artifacts.js.map +1 -0
- package/dist/xlsx-threaded-comment-artifacts.d.ts +8 -0
- package/dist/xlsx-threaded-comment-artifacts.js +329 -0
- package/dist/xlsx-threaded-comment-artifacts.js.map +1 -0
- package/dist/xlsx-validations.d.ts +4 -0
- package/dist/xlsx-validations.js +542 -0
- package/dist/xlsx-validations.js.map +1 -0
- package/dist/xlsx-view-state.d.ts +8 -0
- package/dist/xlsx-view-state.js +144 -0
- package/dist/xlsx-view-state.js.map +1 -0
- package/dist/xlsx-workbook-properties.d.ts +5 -0
- package/dist/xlsx-workbook-properties.js +388 -0
- package/dist/xlsx-workbook-properties.js.map +1 -0
- package/dist/xlsx-workbook-protection.d.ts +4 -0
- package/dist/xlsx-workbook-protection.js +147 -0
- package/dist/xlsx-workbook-protection.js.map +1 -0
- package/dist/xlsx-workbook-sheet-paths.d.ts +4 -0
- package/dist/xlsx-workbook-sheet-paths.js +96 -0
- package/dist/xlsx-workbook-sheet-paths.js.map +1 -0
- package/dist/xlsx-worksheet-cells.d.ts +16 -0
- package/dist/xlsx-worksheet-cells.js +104 -0
- package/dist/xlsx-worksheet-cells.js.map +1 -0
- package/dist/xlsx-worksheet-text-values.d.ts +2 -0
- package/dist/xlsx-worksheet-text-values.js +136 -0
- package/dist/xlsx-worksheet-text-values.js.map +1 -0
- package/dist/xlsx-zip.d.ts +6 -0
- package/dist/xlsx-zip.js +12 -0
- package/dist/xlsx-zip.js.map +1 -0
- package/package.json +56 -0
|
@@ -0,0 +1,255 @@
|
|
|
1
|
+
import { readImportedAlignmentBoolean, readImportedAlignmentNumber, toLiteralInput } from './workbook-import-helpers.js';
|
|
2
|
+
import { worksheetCellRecords } from './xlsx-worksheet-cells.js';
|
|
3
|
+
function isRecord(value) {
|
|
4
|
+
return typeof value === 'object' && value !== null;
|
|
5
|
+
}
|
|
6
|
+
function normalizeRgbColor(value) {
|
|
7
|
+
if (typeof value !== 'string') {
|
|
8
|
+
return null;
|
|
9
|
+
}
|
|
10
|
+
const normalized = value.trim().replace(/^#/, '');
|
|
11
|
+
if (/^[0-9a-fA-F]{6}$/.test(normalized)) {
|
|
12
|
+
return `#${normalized.toLowerCase()}`;
|
|
13
|
+
}
|
|
14
|
+
if (/^[0-9a-fA-F]{8}$/.test(normalized)) {
|
|
15
|
+
return `#${normalized.slice(2).toLowerCase()}`;
|
|
16
|
+
}
|
|
17
|
+
return null;
|
|
18
|
+
}
|
|
19
|
+
function readRgbColor(value) {
|
|
20
|
+
if (!isRecord(value)) {
|
|
21
|
+
return null;
|
|
22
|
+
}
|
|
23
|
+
return normalizeRgbColor(value['rgb']);
|
|
24
|
+
}
|
|
25
|
+
function readFiniteNumber(value) {
|
|
26
|
+
return typeof value === 'number' && Number.isFinite(value) ? value : null;
|
|
27
|
+
}
|
|
28
|
+
function readImportedNumberFormat(value) {
|
|
29
|
+
if (typeof value !== 'string') {
|
|
30
|
+
return undefined;
|
|
31
|
+
}
|
|
32
|
+
const trimmed = value.trim();
|
|
33
|
+
if (trimmed.length === 0 || trimmed === 'General') {
|
|
34
|
+
return undefined;
|
|
35
|
+
}
|
|
36
|
+
return trimmed;
|
|
37
|
+
}
|
|
38
|
+
function hasImportableXlsxCellPayload(cell) {
|
|
39
|
+
const formula = cell['f'];
|
|
40
|
+
if (typeof formula === 'string' && formula.trim().length > 0) {
|
|
41
|
+
return true;
|
|
42
|
+
}
|
|
43
|
+
return toLiteralInput(cell['v']) !== undefined || readImportedNumberFormat(cell['z']) !== undefined;
|
|
44
|
+
}
|
|
45
|
+
export function collectStyleCandidateAddresses(workbook, sheetNames, maxCandidateCount) {
|
|
46
|
+
const addressesBySheet = new Map();
|
|
47
|
+
let count = 0;
|
|
48
|
+
for (const sheetName of sheetNames) {
|
|
49
|
+
const sheet = workbook.Sheets[sheetName];
|
|
50
|
+
if (!sheet) {
|
|
51
|
+
continue;
|
|
52
|
+
}
|
|
53
|
+
const addresses = new Set();
|
|
54
|
+
for (const { address, cell } of worksheetCellRecords(sheet)) {
|
|
55
|
+
if (!hasImportableXlsxCellPayload(cell)) {
|
|
56
|
+
continue;
|
|
57
|
+
}
|
|
58
|
+
addresses.add(address);
|
|
59
|
+
count += 1;
|
|
60
|
+
if (count > maxCandidateCount) {
|
|
61
|
+
return { addressesBySheet: new Map(), count };
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
if (addresses.size > 0) {
|
|
65
|
+
addressesBySheet.set(sheetName, addresses);
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
return { addressesBySheet, count };
|
|
69
|
+
}
|
|
70
|
+
function readImportedFillStyle(style) {
|
|
71
|
+
const fill = isRecord(style['fill']) ? style['fill'] : style;
|
|
72
|
+
if (fill['patternType'] !== 'solid') {
|
|
73
|
+
return undefined;
|
|
74
|
+
}
|
|
75
|
+
const backgroundColor = readRgbColor(fill['fgColor']) ?? readRgbColor(fill['bgColor']);
|
|
76
|
+
return backgroundColor ? { backgroundColor } : undefined;
|
|
77
|
+
}
|
|
78
|
+
function readImportedFontStyle(style) {
|
|
79
|
+
const fontRecord = isRecord(style['font']) ? style['font'] : null;
|
|
80
|
+
if (!fontRecord) {
|
|
81
|
+
return undefined;
|
|
82
|
+
}
|
|
83
|
+
const font = {};
|
|
84
|
+
const family = typeof fontRecord['name'] === 'string' ? fontRecord['name'].trim() : '';
|
|
85
|
+
if (family.length > 0) {
|
|
86
|
+
font.family = family;
|
|
87
|
+
}
|
|
88
|
+
const size = readFiniteNumber(fontRecord['sz']) ?? readFiniteNumber(fontRecord['size']);
|
|
89
|
+
if (size !== null && size > 0) {
|
|
90
|
+
font.size = size;
|
|
91
|
+
}
|
|
92
|
+
if (fontRecord['bold'] === true) {
|
|
93
|
+
font.bold = true;
|
|
94
|
+
}
|
|
95
|
+
if (fontRecord['italic'] === true) {
|
|
96
|
+
font.italic = true;
|
|
97
|
+
}
|
|
98
|
+
if (fontRecord['underline'] === true || typeof fontRecord['underline'] === 'string') {
|
|
99
|
+
font.underline = true;
|
|
100
|
+
}
|
|
101
|
+
const color = readRgbColor(fontRecord['color']);
|
|
102
|
+
if (color) {
|
|
103
|
+
font.color = color;
|
|
104
|
+
}
|
|
105
|
+
return Object.keys(font).length > 0 ? font : undefined;
|
|
106
|
+
}
|
|
107
|
+
function readHorizontalAlignment(value) {
|
|
108
|
+
switch (value) {
|
|
109
|
+
case 'general':
|
|
110
|
+
case 'left':
|
|
111
|
+
case 'center':
|
|
112
|
+
case 'right':
|
|
113
|
+
case 'fill':
|
|
114
|
+
case 'justify':
|
|
115
|
+
case 'centerContinuous':
|
|
116
|
+
case 'distributed':
|
|
117
|
+
return value;
|
|
118
|
+
default:
|
|
119
|
+
return undefined;
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
function readVerticalAlignment(value) {
|
|
123
|
+
switch (value) {
|
|
124
|
+
case 'top':
|
|
125
|
+
return 'top';
|
|
126
|
+
case 'center':
|
|
127
|
+
case 'middle':
|
|
128
|
+
return 'middle';
|
|
129
|
+
case 'bottom':
|
|
130
|
+
case 'justify':
|
|
131
|
+
case 'distributed':
|
|
132
|
+
return value;
|
|
133
|
+
default:
|
|
134
|
+
return undefined;
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
function readImportedAlignmentStyle(style) {
|
|
138
|
+
const alignmentRecord = isRecord(style['alignment']) ? style['alignment'] : null;
|
|
139
|
+
if (!alignmentRecord) {
|
|
140
|
+
return undefined;
|
|
141
|
+
}
|
|
142
|
+
const horizontal = readHorizontalAlignment(alignmentRecord['horizontal']);
|
|
143
|
+
const vertical = readVerticalAlignment(alignmentRecord['vertical']);
|
|
144
|
+
const indent = readImportedAlignmentNumber(alignmentRecord['indent']);
|
|
145
|
+
const readingOrder = readImportedAlignmentNumber(alignmentRecord['readingOrder']);
|
|
146
|
+
const textRotation = readImportedAlignmentNumber(alignmentRecord['textRotation']);
|
|
147
|
+
const alignment = {
|
|
148
|
+
...(horizontal ? { horizontal } : {}),
|
|
149
|
+
...(vertical ? { vertical } : {}),
|
|
150
|
+
...(readImportedAlignmentBoolean(alignmentRecord['wrapText']) === true ? { wrap: true } : {}),
|
|
151
|
+
...(indent !== null && indent >= 0 ? { indent } : {}),
|
|
152
|
+
...(readImportedAlignmentBoolean(alignmentRecord['shrinkToFit']) === true ? { shrinkToFit: true } : {}),
|
|
153
|
+
...(readingOrder !== null ? { readingOrder } : {}),
|
|
154
|
+
...(textRotation !== null ? { textRotation } : {}),
|
|
155
|
+
...(readImportedAlignmentBoolean(alignmentRecord['justifyLastLine']) === true ? { justifyLastLine: true } : {}),
|
|
156
|
+
};
|
|
157
|
+
return Object.keys(alignment).length > 0 ? alignment : undefined;
|
|
158
|
+
}
|
|
159
|
+
function readBorderKind(value) {
|
|
160
|
+
switch (value) {
|
|
161
|
+
case 'hair':
|
|
162
|
+
case 'thin':
|
|
163
|
+
return { style: 'solid', weight: 'thin' };
|
|
164
|
+
case 'medium':
|
|
165
|
+
return { style: 'solid', weight: 'medium' };
|
|
166
|
+
case 'thick':
|
|
167
|
+
return { style: 'solid', weight: 'thick' };
|
|
168
|
+
case 'dashed':
|
|
169
|
+
case 'mediumDashed':
|
|
170
|
+
case 'dashDot':
|
|
171
|
+
case 'dashDotDot':
|
|
172
|
+
case 'slantDashDot':
|
|
173
|
+
case 'mediumDashDot':
|
|
174
|
+
case 'mediumDashDotDot':
|
|
175
|
+
return { style: 'dashed', weight: value === 'dashed' ? 'thin' : 'medium' };
|
|
176
|
+
case 'dotted':
|
|
177
|
+
return { style: 'dotted', weight: 'thin' };
|
|
178
|
+
case 'double':
|
|
179
|
+
return { style: 'double', weight: 'medium' };
|
|
180
|
+
default:
|
|
181
|
+
return null;
|
|
182
|
+
}
|
|
183
|
+
}
|
|
184
|
+
function readImportedBorderSide(value) {
|
|
185
|
+
if (!isRecord(value)) {
|
|
186
|
+
return undefined;
|
|
187
|
+
}
|
|
188
|
+
const borderKind = readBorderKind(value['style']);
|
|
189
|
+
if (!borderKind) {
|
|
190
|
+
return undefined;
|
|
191
|
+
}
|
|
192
|
+
return {
|
|
193
|
+
...borderKind,
|
|
194
|
+
color: readRgbColor(value['color']) ?? '#000000',
|
|
195
|
+
};
|
|
196
|
+
}
|
|
197
|
+
function readImportedBorderStyle(style) {
|
|
198
|
+
const borderRecord = isRecord(style['border']) ? style['border'] : null;
|
|
199
|
+
if (!borderRecord) {
|
|
200
|
+
return undefined;
|
|
201
|
+
}
|
|
202
|
+
const top = readImportedBorderSide(borderRecord['top']);
|
|
203
|
+
const right = readImportedBorderSide(borderRecord['right']);
|
|
204
|
+
const bottom = readImportedBorderSide(borderRecord['bottom']);
|
|
205
|
+
const left = readImportedBorderSide(borderRecord['left']);
|
|
206
|
+
const borders = {
|
|
207
|
+
...(top ? { top } : {}),
|
|
208
|
+
...(right ? { right } : {}),
|
|
209
|
+
...(bottom ? { bottom } : {}),
|
|
210
|
+
...(left ? { left } : {}),
|
|
211
|
+
};
|
|
212
|
+
return Object.keys(borders).length > 0 ? borders : undefined;
|
|
213
|
+
}
|
|
214
|
+
function readImportedProtectionStyle(style) {
|
|
215
|
+
const protectionRecord = isRecord(style['protection']) ? style['protection'] : null;
|
|
216
|
+
if (!protectionRecord) {
|
|
217
|
+
return undefined;
|
|
218
|
+
}
|
|
219
|
+
return {
|
|
220
|
+
...(typeof protectionRecord['locked'] === 'boolean' ? { locked: protectionRecord['locked'] } : {}),
|
|
221
|
+
...(typeof protectionRecord['hidden'] === 'boolean' ? { hidden: protectionRecord['hidden'] } : {}),
|
|
222
|
+
};
|
|
223
|
+
}
|
|
224
|
+
export function readImportedXlsxCellStyle(value) {
|
|
225
|
+
if (!isRecord(value)) {
|
|
226
|
+
return null;
|
|
227
|
+
}
|
|
228
|
+
const fill = readImportedFillStyle(value);
|
|
229
|
+
const font = readImportedFontStyle(value);
|
|
230
|
+
const alignment = readImportedAlignmentStyle(value);
|
|
231
|
+
const borders = readImportedBorderStyle(value);
|
|
232
|
+
const protection = readImportedProtectionStyle(value);
|
|
233
|
+
const style = {
|
|
234
|
+
...(fill ? { fill } : {}),
|
|
235
|
+
...(font ? { font } : {}),
|
|
236
|
+
...(alignment ? { alignment } : {}),
|
|
237
|
+
...(borders ? { borders } : {}),
|
|
238
|
+
...(protection !== undefined ? { protection } : {}),
|
|
239
|
+
};
|
|
240
|
+
return Object.keys(style).length > 0 ? style : null;
|
|
241
|
+
}
|
|
242
|
+
export function internImportedStyle(style, catalog) {
|
|
243
|
+
const key = JSON.stringify(style);
|
|
244
|
+
const existing = catalog.get(key);
|
|
245
|
+
if (existing) {
|
|
246
|
+
return existing.id;
|
|
247
|
+
}
|
|
248
|
+
const record = {
|
|
249
|
+
id: `xlsx-style-${catalog.size + 1}`,
|
|
250
|
+
...style,
|
|
251
|
+
};
|
|
252
|
+
catalog.set(key, record);
|
|
253
|
+
return record.id;
|
|
254
|
+
}
|
|
255
|
+
//# sourceMappingURL=xlsx-import-cell-styles.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"xlsx-import-cell-styles.js","sourceRoot":"","sources":["../src/xlsx-import-cell-styles.ts"],"names":[],"mappings":"AAcA,OAAO,EAAE,4BAA4B,EAAE,2BAA2B,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAA;AACxH,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAA;AAEhE,SAAS,QAAQ,CAAC,KAAc;IAC9B,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,CAAA;AACpD,CAAC;AAED,SAAS,iBAAiB,CAAC,KAAc;IACvC,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,OAAO,IAAI,CAAA;IACb,CAAC;IACD,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAA;IACjD,IAAI,kBAAkB,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;QACxC,OAAO,IAAI,UAAU,CAAC,WAAW,EAAE,EAAE,CAAA;IACvC,CAAC;IACD,IAAI,kBAAkB,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;QACxC,OAAO,IAAI,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,EAAE,CAAA;IAChD,CAAC;IACD,OAAO,IAAI,CAAA;AACb,CAAC;AAED,SAAS,YAAY,CAAC,KAAc;IAClC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QACrB,OAAO,IAAI,CAAA;IACb,CAAC;IACD,OAAO,iBAAiB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAA;AACxC,CAAC;AAED,SAAS,gBAAgB,CAAC,KAAc;IACtC,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAA;AAC3E,CAAC;AAED,SAAS,wBAAwB,CAAC,KAAc;IAC9C,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,OAAO,SAAS,CAAA;IAClB,CAAC;IACD,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,EAAE,CAAA;IAC5B,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QAClD,OAAO,SAAS,CAAA;IAClB,CAAC;IACD,OAAO,OAAO,CAAA;AAChB,CAAC;AAED,SAAS,4BAA4B,CAAC,IAA6B;IACjE,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,CAAA;IACzB,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC7D,OAAO,IAAI,CAAA;IACb,CAAC;IACD,OAAO,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,SAAS,IAAI,wBAAwB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,SAAS,CAAA;AACrG,CAAC;AAED,MAAM,UAAU,8BAA8B,CAC5C,QAAuB,EACvB,UAA6B,EAC7B,iBAAyB;IAKzB,MAAM,gBAAgB,GAAG,IAAI,GAAG,EAAuB,CAAA;IACvD,IAAI,KAAK,GAAG,CAAC,CAAA;IACb,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;QACnC,MAAM,KAAK,GAAG,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,CAAA;QACxC,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,SAAQ;QACV,CAAC;QACD,MAAM,SAAS,GAAG,IAAI,GAAG,EAAU,CAAA;QACnC,KAAK,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,oBAAoB,CAAC,KAAK,CAAC,EAAE,CAAC;YAC5D,IAAI,CAAC,4BAA4B,CAAC,IAAI,CAAC,EAAE,CAAC;gBACxC,SAAQ;YACV,CAAC;YACD,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;YACtB,KAAK,IAAI,CAAC,CAAA;YACV,IAAI,KAAK,GAAG,iBAAiB,EAAE,CAAC;gBAC9B,OAAO,EAAE,gBAAgB,EAAE,IAAI,GAAG,EAAE,EAAE,KAAK,EAAE,CAAA;YAC/C,CAAC;QACH,CAAC;QACD,IAAI,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;YACvB,gBAAgB,CAAC,GAAG,CAAC,SAAS,EAAE,SAAS,CAAC,CAAA;QAC5C,CAAC;IACH,CAAC;IACD,OAAO,EAAE,gBAAgB,EAAE,KAAK,EAAE,CAAA;AACpC,CAAC;AAED,SAAS,qBAAqB,CAAC,KAA8B;IAC3D,MAAM,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAA;IAC5D,IAAI,IAAI,CAAC,aAAa,CAAC,KAAK,OAAO,EAAE,CAAC;QACpC,OAAO,SAAS,CAAA;IAClB,CAAC;IACD,MAAM,eAAe,GAAG,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,IAAI,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAA;IACtF,OAAO,eAAe,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,CAAC,CAAC,CAAC,SAAS,CAAA;AAC1D,CAAC;AAED,SAAS,qBAAqB,CAAC,KAA8B;IAC3D,MAAM,UAAU,GAAG,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;IACjE,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,OAAO,SAAS,CAAA;IAClB,CAAC;IACD,MAAM,IAAI,GAA0B,EAAE,CAAA;IACtC,MAAM,MAAM,GAAG,OAAO,UAAU,CAAC,MAAM,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAA;IACtF,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACtB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;IACtB,CAAC;IACD,MAAM,IAAI,GAAG,gBAAgB,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,IAAI,gBAAgB,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAA;IACvF,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC;QAC9B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;IAClB,CAAC;IACD,IAAI,UAAU,CAAC,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC;QAChC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;IAClB,CAAC;IACD,IAAI,UAAU,CAAC,QAAQ,CAAC,KAAK,IAAI,EAAE,CAAC;QAClC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAA;IACpB,CAAC;IACD,IAAI,UAAU,CAAC,WAAW,CAAC,KAAK,IAAI,IAAI,OAAO,UAAU,CAAC,WAAW,CAAC,KAAK,QAAQ,EAAE,CAAC;QACpF,IAAI,CAAC,SAAS,GAAG,IAAI,CAAA;IACvB,CAAC;IACD,MAAM,KAAK,GAAG,YAAY,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAA;IAC/C,IAAI,KAAK,EAAE,CAAC;QACV,IAAI,CAAC,KAAK,GAAG,KAAK,CAAA;IACpB,CAAC;IACD,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAA;AACxD,CAAC;AAED,SAAS,uBAAuB,CAAC,KAAc;IAC7C,QAAQ,KAAK,EAAE,CAAC;QACd,KAAK,SAAS,CAAC;QACf,KAAK,MAAM,CAAC;QACZ,KAAK,QAAQ,CAAC;QACd,KAAK,OAAO,CAAC;QACb,KAAK,MAAM,CAAC;QACZ,KAAK,SAAS,CAAC;QACf,KAAK,kBAAkB,CAAC;QACxB,KAAK,aAAa;YAChB,OAAO,KAAK,CAAA;QACd;YACE,OAAO,SAAS,CAAA;IACpB,CAAC;AACH,CAAC;AAED,SAAS,qBAAqB,CAAC,KAAc;IAC3C,QAAQ,KAAK,EAAE,CAAC;QACd,KAAK,KAAK;YACR,OAAO,KAAK,CAAA;QACd,KAAK,QAAQ,CAAC;QACd,KAAK,QAAQ;YACX,OAAO,QAAQ,CAAA;QACjB,KAAK,QAAQ,CAAC;QACd,KAAK,SAAS,CAAC;QACf,KAAK,aAAa;YAChB,OAAO,KAAK,CAAA;QACd;YACE,OAAO,SAAS,CAAA;IACpB,CAAC;AACH,CAAC;AAED,SAAS,0BAA0B,CAAC,KAA8B;IAChE,MAAM,eAAe,GAAG,QAAQ,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;IAChF,IAAI,CAAC,eAAe,EAAE,CAAC;QACrB,OAAO,SAAS,CAAA;IAClB,CAAC;IACD,MAAM,UAAU,GAAG,uBAAuB,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC,CAAA;IACzE,MAAM,QAAQ,GAAG,qBAAqB,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC,CAAA;IACnE,MAAM,MAAM,GAAG,2BAA2B,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC,CAAA;IACrE,MAAM,YAAY,GAAG,2BAA2B,CAAC,eAAe,CAAC,cAAc,CAAC,CAAC,CAAA;IACjF,MAAM,YAAY,GAAG,2BAA2B,CAAC,eAAe,CAAC,cAAc,CAAC,CAAC,CAAA;IACjF,MAAM,SAAS,GAA+B;QAC5C,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACrC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACjC,GAAG,CAAC,4BAA4B,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC7F,GAAG,CAAC,MAAM,KAAK,IAAI,IAAI,MAAM,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACrD,GAAG,CAAC,4BAA4B,CAAC,eAAe,CAAC,aAAa,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACvG,GAAG,CAAC,YAAY,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAClD,GAAG,CAAC,YAAY,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAClD,GAAG,CAAC,4BAA4B,CAAC,eAAe,CAAC,iBAAiB,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAChH,CAAA;IACD,OAAO,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAA;AAClE,CAAC;AAED,SAAS,cAAc,CAAC,KAAc;IACpC,QAAQ,KAAK,EAAE,CAAC;QACd,KAAK,MAAM,CAAC;QACZ,KAAK,MAAM;YACT,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,CAAA;QAC3C,KAAK,QAAQ;YACX,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAA;QAC7C,KAAK,OAAO;YACV,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,CAAA;QAC5C,KAAK,QAAQ,CAAC;QACd,KAAK,cAAc,CAAC;QACpB,KAAK,SAAS,CAAC;QACf,KAAK,YAAY,CAAC;QAClB,KAAK,cAAc,CAAC;QACpB,KAAK,eAAe,CAAC;QACrB,KAAK,kBAAkB;YACrB,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAA;QAC5E,KAAK,QAAQ;YACX,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,CAAA;QAC5C,KAAK,QAAQ;YACX,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAA;QAC9C;YACE,OAAO,IAAI,CAAA;IACf,CAAC;AACH,CAAC;AAED,SAAS,sBAAsB,CAAC,KAAc;IAC5C,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QACrB,OAAO,SAAS,CAAA;IAClB,CAAC;IACD,MAAM,UAAU,GAAG,cAAc,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAA;IACjD,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,OAAO,SAAS,CAAA;IAClB,CAAC;IACD,OAAO;QACL,GAAG,UAAU;QACb,KAAK,EAAE,YAAY,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,SAAS;KACjD,CAAA;AACH,CAAC;AAED,SAAS,uBAAuB,CAAC,KAA8B;IAC7D,MAAM,YAAY,GAAG,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;IACvE,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,OAAO,SAAS,CAAA;IAClB,CAAC;IACD,MAAM,GAAG,GAAG,sBAAsB,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAA;IACvD,MAAM,KAAK,GAAG,sBAAsB,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAA;IAC3D,MAAM,MAAM,GAAG,sBAAsB,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAA;IAC7D,MAAM,IAAI,GAAG,sBAAsB,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAA;IACzD,MAAM,OAAO,GAA6B;QACxC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACvB,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC3B,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC7B,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC1B,CAAA;IACD,OAAO,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAA;AAC9D,CAAC;AAED,SAAS,2BAA2B,CAAC,KAA8B;IACjE,MAAM,gBAAgB,GAAG,QAAQ,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;IACnF,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACtB,OAAO,SAAS,CAAA;IAClB,CAAC;IACD,OAAO;QACL,GAAG,CAAC,OAAO,gBAAgB,CAAC,QAAQ,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,gBAAgB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAClG,GAAG,CAAC,OAAO,gBAAgB,CAAC,QAAQ,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,gBAAgB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACnG,CAAA;AACH,CAAC;AAED,MAAM,UAAU,yBAAyB,CAAC,KAAc;IACtD,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QACrB,OAAO,IAAI,CAAA;IACb,CAAC;IACD,MAAM,IAAI,GAAG,qBAAqB,CAAC,KAAK,CAAC,CAAA;IACzC,MAAM,IAAI,GAAG,qBAAqB,CAAC,KAAK,CAAC,CAAA;IACzC,MAAM,SAAS,GAAG,0BAA0B,CAAC,KAAK,CAAC,CAAA;IACnD,MAAM,OAAO,GAAG,uBAAuB,CAAC,KAAK,CAAC,CAAA;IAC9C,MAAM,UAAU,GAAG,2BAA2B,CAAC,KAAK,CAAC,CAAA;IACrD,MAAM,KAAK,GAAgC;QACzC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACzB,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACzB,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACnC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC/B,GAAG,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACpD,CAAA;IACD,OAAO,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAA;AACrD,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,KAAkC,EAAE,OAAqC;IAC3G,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAA;IACjC,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;IACjC,IAAI,QAAQ,EAAE,CAAC;QACb,OAAO,QAAQ,CAAC,EAAE,CAAA;IACpB,CAAC;IACD,MAAM,MAAM,GAAoB;QAC9B,EAAE,EAAE,cAAc,OAAO,CAAC,IAAI,GAAG,CAAC,EAAE;QACpC,GAAG,KAAK;KACT,CAAA;IACD,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,CAAA;IACxB,OAAO,MAAM,CAAC,EAAE,CAAA;AAClB,CAAC"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import type { SheetMetadataSnapshot } from '@bilig/protocol';
|
|
2
|
+
interface ImportedSheetMetadataInput {
|
|
3
|
+
readonly rows?: SheetMetadataSnapshot['rows'];
|
|
4
|
+
readonly columns?: SheetMetadataSnapshot['columns'];
|
|
5
|
+
readonly rowMetadata?: SheetMetadataSnapshot['rowMetadata'];
|
|
6
|
+
readonly columnMetadata?: SheetMetadataSnapshot['columnMetadata'];
|
|
7
|
+
readonly sheetFormatPr?: SheetMetadataSnapshot['sheetFormatPr'];
|
|
8
|
+
readonly styleRanges?: SheetMetadataSnapshot['styleRanges'];
|
|
9
|
+
readonly freezePane?: SheetMetadataSnapshot['freezePane'];
|
|
10
|
+
readonly tabColor?: SheetMetadataSnapshot['tabColor'];
|
|
11
|
+
readonly sheetPr?: SheetMetadataSnapshot['sheetPr'];
|
|
12
|
+
readonly visibility?: SheetMetadataSnapshot['visibility'];
|
|
13
|
+
readonly merges?: SheetMetadataSnapshot['merges'];
|
|
14
|
+
readonly sheetProtection?: SheetMetadataSnapshot['sheetProtection'];
|
|
15
|
+
readonly protectedRanges?: SheetMetadataSnapshot['protectedRanges'];
|
|
16
|
+
readonly sorts?: SheetMetadataSnapshot['sorts'];
|
|
17
|
+
readonly filters?: SheetMetadataSnapshot['filters'];
|
|
18
|
+
readonly validations?: SheetMetadataSnapshot['validations'];
|
|
19
|
+
readonly conditionalFormats?: SheetMetadataSnapshot['conditionalFormats'];
|
|
20
|
+
readonly conditionalFormatArtifacts?: SheetMetadataSnapshot['conditionalFormatArtifacts'];
|
|
21
|
+
readonly commentThreads?: SheetMetadataSnapshot['commentThreads'];
|
|
22
|
+
readonly drawingArtifacts?: SheetMetadataSnapshot['drawingArtifacts'];
|
|
23
|
+
readonly controlArtifacts?: SheetMetadataSnapshot['controlArtifacts'];
|
|
24
|
+
readonly arrayFormulas?: SheetMetadataSnapshot['arrayFormulas'];
|
|
25
|
+
readonly dataTableFormulas?: SheetMetadataSnapshot['dataTableFormulas'];
|
|
26
|
+
readonly legacyCommentVml?: SheetMetadataSnapshot['legacyCommentVml'];
|
|
27
|
+
readonly hyperlinks?: SheetMetadataSnapshot['hyperlinks'];
|
|
28
|
+
readonly printerSettings?: SheetMetadataSnapshot['printerSettings'];
|
|
29
|
+
readonly printPageSetup?: SheetMetadataSnapshot['printPageSetup'];
|
|
30
|
+
readonly ignoredErrors?: SheetMetadataSnapshot['ignoredErrors'];
|
|
31
|
+
readonly sparklines?: SheetMetadataSnapshot['sparklines'];
|
|
32
|
+
readonly styleArtifacts?: SheetMetadataSnapshot['styleArtifacts'];
|
|
33
|
+
readonly pivotArtifacts?: SheetMetadataSnapshot['pivotArtifacts'];
|
|
34
|
+
readonly cellMetadataRefs?: SheetMetadataSnapshot['cellMetadataRefs'];
|
|
35
|
+
readonly richTextArtifacts?: SheetMetadataSnapshot['richTextArtifacts'];
|
|
36
|
+
readonly threadedCommentArtifacts?: SheetMetadataSnapshot['threadedCommentArtifacts'];
|
|
37
|
+
readonly viewState?: SheetMetadataSnapshot['viewState'];
|
|
38
|
+
}
|
|
39
|
+
export declare function buildImportedSheetMetadata(input: ImportedSheetMetadataInput): SheetMetadataSnapshot | undefined;
|
|
40
|
+
export {};
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
export function buildImportedSheetMetadata(input) {
|
|
2
|
+
const metadata = {
|
|
3
|
+
...(input.rows ? { rows: input.rows } : {}),
|
|
4
|
+
...(input.columns ? { columns: input.columns } : {}),
|
|
5
|
+
...(input.rowMetadata ? { rowMetadata: input.rowMetadata } : {}),
|
|
6
|
+
...(input.columnMetadata ? { columnMetadata: input.columnMetadata } : {}),
|
|
7
|
+
...(input.sheetFormatPr ? { sheetFormatPr: input.sheetFormatPr } : {}),
|
|
8
|
+
...(input.styleRanges ? { styleRanges: input.styleRanges } : {}),
|
|
9
|
+
...(input.freezePane ? { freezePane: input.freezePane } : {}),
|
|
10
|
+
...(input.tabColor ? { tabColor: input.tabColor } : {}),
|
|
11
|
+
...(input.sheetPr ? { sheetPr: input.sheetPr } : {}),
|
|
12
|
+
...(input.visibility ? { visibility: input.visibility } : {}),
|
|
13
|
+
...(input.merges ? { merges: input.merges } : {}),
|
|
14
|
+
...(input.sheetProtection ? { sheetProtection: input.sheetProtection } : {}),
|
|
15
|
+
...(input.protectedRanges ? { protectedRanges: input.protectedRanges } : {}),
|
|
16
|
+
...(input.sorts ? { sorts: input.sorts } : {}),
|
|
17
|
+
...(input.filters ? { filters: input.filters } : {}),
|
|
18
|
+
...(input.validations ? { validations: input.validations } : {}),
|
|
19
|
+
...(input.conditionalFormats ? { conditionalFormats: input.conditionalFormats } : {}),
|
|
20
|
+
...(input.conditionalFormatArtifacts ? { conditionalFormatArtifacts: input.conditionalFormatArtifacts } : {}),
|
|
21
|
+
...(input.commentThreads ? { commentThreads: input.commentThreads } : {}),
|
|
22
|
+
...(input.drawingArtifacts ? { drawingArtifacts: input.drawingArtifacts } : {}),
|
|
23
|
+
...(input.controlArtifacts ? { controlArtifacts: input.controlArtifacts } : {}),
|
|
24
|
+
...(input.arrayFormulas ? { arrayFormulas: input.arrayFormulas } : {}),
|
|
25
|
+
...(input.dataTableFormulas ? { dataTableFormulas: input.dataTableFormulas } : {}),
|
|
26
|
+
...(input.legacyCommentVml ? { legacyCommentVml: input.legacyCommentVml } : {}),
|
|
27
|
+
...(input.hyperlinks ? { hyperlinks: input.hyperlinks } : {}),
|
|
28
|
+
...(input.printerSettings ? { printerSettings: input.printerSettings } : {}),
|
|
29
|
+
...(input.printPageSetup ? { printPageSetup: input.printPageSetup } : {}),
|
|
30
|
+
...(input.ignoredErrors ? { ignoredErrors: input.ignoredErrors } : {}),
|
|
31
|
+
...(input.sparklines ? { sparklines: input.sparklines } : {}),
|
|
32
|
+
...(input.styleArtifacts ? { styleArtifacts: input.styleArtifacts } : {}),
|
|
33
|
+
...(input.pivotArtifacts ? { pivotArtifacts: input.pivotArtifacts } : {}),
|
|
34
|
+
...(input.cellMetadataRefs ? { cellMetadataRefs: input.cellMetadataRefs } : {}),
|
|
35
|
+
...(input.richTextArtifacts ? { richTextArtifacts: input.richTextArtifacts } : {}),
|
|
36
|
+
...(input.threadedCommentArtifacts ? { threadedCommentArtifacts: input.threadedCommentArtifacts } : {}),
|
|
37
|
+
...(input.viewState ? { viewState: input.viewState } : {}),
|
|
38
|
+
};
|
|
39
|
+
return Object.keys(metadata).length > 0 ? metadata : undefined;
|
|
40
|
+
}
|
|
41
|
+
//# sourceMappingURL=xlsx-import-sheet-metadata.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"xlsx-import-sheet-metadata.js","sourceRoot":"","sources":["../src/xlsx-import-sheet-metadata.ts"],"names":[],"mappings":"AAwCA,MAAM,UAAU,0BAA0B,CAAC,KAAiC;IAC1E,MAAM,QAAQ,GAA0B;QACtC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC3C,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACpD,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAChE,GAAG,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,KAAK,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACzE,GAAG,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,KAAK,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACtE,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAChE,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,KAAK,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC7D,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACvD,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACpD,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,KAAK,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC7D,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACjD,GAAG,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,KAAK,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5E,GAAG,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,KAAK,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5E,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC9C,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACpD,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAChE,GAAG,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC,CAAC,EAAE,kBAAkB,EAAE,KAAK,CAAC,kBAAkB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACrF,GAAG,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAC,CAAC,EAAE,0BAA0B,EAAE,KAAK,CAAC,0BAA0B,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC7G,GAAG,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,KAAK,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACzE,GAAG,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,gBAAgB,EAAE,KAAK,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC/E,GAAG,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,gBAAgB,EAAE,KAAK,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC/E,GAAG,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,KAAK,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACtE,GAAG,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,iBAAiB,EAAE,KAAK,CAAC,iBAAiB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAClF,GAAG,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,gBAAgB,EAAE,KAAK,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC/E,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,KAAK,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC7D,GAAG,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,KAAK,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5E,GAAG,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,KAAK,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACzE,GAAG,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,KAAK,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACtE,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,KAAK,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC7D,GAAG,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,KAAK,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACzE,GAAG,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,KAAK,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACzE,GAAG,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,gBAAgB,EAAE,KAAK,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC/E,GAAG,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,iBAAiB,EAAE,KAAK,CAAC,iBAAiB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAClF,GAAG,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAC,CAAC,EAAE,wBAAwB,EAAE,KAAK,CAAC,wBAAwB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACvG,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC3D,CAAA;IACD,OAAO,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAA;AAChE,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type * as XLSX from 'xlsx';
|
|
2
|
+
export declare const externalWorkbookReferencesWarning = "External workbook links were preserved but not recalculated during XLSX import.";
|
|
3
|
+
export declare const externalPivotCachesWarning = "External pivot caches were detected but not semantically imported during XLSX import.";
|
|
4
|
+
export declare const macroExecutionDeclinedWarning = "Macros were preserved but not executed during XLSX import.";
|
|
5
|
+
export declare const volatileFormulasWarning = "Volatile formulas were preserved during XLSX import; cached formula values may depend on workbook calculation time.";
|
|
6
|
+
export declare function formulaReferencesExternalWorkbook(formula: string): boolean;
|
|
7
|
+
export declare function formulaReferencesVolatileFunction(formula: string): boolean;
|
|
8
|
+
export declare function workbookDefinedNamesReferenceExternalWorkbook(workbook: XLSX.WorkBook): boolean;
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
export const externalWorkbookReferencesWarning = 'External workbook links were preserved but not recalculated during XLSX import.';
|
|
2
|
+
export const externalPivotCachesWarning = 'External pivot caches were detected but not semantically imported during XLSX import.';
|
|
3
|
+
export const macroExecutionDeclinedWarning = 'Macros were preserved but not executed during XLSX import.';
|
|
4
|
+
export const volatileFormulasWarning = 'Volatile formulas were preserved during XLSX import; cached formula values may depend on workbook calculation time.';
|
|
5
|
+
function formulaWithoutDoubleQuotedStrings(formula) {
|
|
6
|
+
let stripped = '';
|
|
7
|
+
let index = 0;
|
|
8
|
+
while (index < formula.length) {
|
|
9
|
+
if (formula[index] !== '"') {
|
|
10
|
+
stripped += formula[index];
|
|
11
|
+
index += 1;
|
|
12
|
+
continue;
|
|
13
|
+
}
|
|
14
|
+
stripped += ' ';
|
|
15
|
+
index += 1;
|
|
16
|
+
while (index < formula.length) {
|
|
17
|
+
if (formula[index] === '"' && formula[index + 1] === '"') {
|
|
18
|
+
stripped += ' ';
|
|
19
|
+
index += 2;
|
|
20
|
+
continue;
|
|
21
|
+
}
|
|
22
|
+
stripped += ' ';
|
|
23
|
+
if (formula[index] === '"') {
|
|
24
|
+
index += 1;
|
|
25
|
+
break;
|
|
26
|
+
}
|
|
27
|
+
index += 1;
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
return stripped;
|
|
31
|
+
}
|
|
32
|
+
export function formulaReferencesExternalWorkbook(formula) {
|
|
33
|
+
return /(?:^|[^A-Za-z0-9_])(?:'?\[[^\]\r\n]+\][^'!\r\n]*'?)!/u.test(formulaWithoutDoubleQuotedStrings(formula));
|
|
34
|
+
}
|
|
35
|
+
export function formulaReferencesVolatileFunction(formula) {
|
|
36
|
+
return /(?:^|[^A-Z0-9_.])(?:NOW|RAND|RANDBETWEEN|TODAY)\s*\(/iu.test(formulaWithoutDoubleQuotedStrings(formula));
|
|
37
|
+
}
|
|
38
|
+
export function workbookDefinedNamesReferenceExternalWorkbook(workbook) {
|
|
39
|
+
return (workbook.Workbook?.Names ?? []).some((entry) => {
|
|
40
|
+
const ref = typeof entry.Ref === 'string' ? entry.Ref.trim() : '';
|
|
41
|
+
return ref.length > 0 && formulaReferencesExternalWorkbook(ref);
|
|
42
|
+
});
|
|
43
|
+
}
|
|
44
|
+
//# sourceMappingURL=xlsx-import-warnings.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"xlsx-import-warnings.js","sourceRoot":"","sources":["../src/xlsx-import-warnings.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,iCAAiC,GAAG,iFAAiF,CAAA;AAClI,MAAM,CAAC,MAAM,0BAA0B,GAAG,uFAAuF,CAAA;AACjI,MAAM,CAAC,MAAM,6BAA6B,GAAG,4DAA4D,CAAA;AACzG,MAAM,CAAC,MAAM,uBAAuB,GAClC,qHAAqH,CAAA;AAEvH,SAAS,iCAAiC,CAAC,OAAe;IACxD,IAAI,QAAQ,GAAG,EAAE,CAAA;IACjB,IAAI,KAAK,GAAG,CAAC,CAAA;IACb,OAAO,KAAK,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;QAC9B,IAAI,OAAO,CAAC,KAAK,CAAC,KAAK,GAAG,EAAE,CAAC;YAC3B,QAAQ,IAAI,OAAO,CAAC,KAAK,CAAC,CAAA;YAC1B,KAAK,IAAI,CAAC,CAAA;YACV,SAAQ;QACV,CAAC;QACD,QAAQ,IAAI,GAAG,CAAA;QACf,KAAK,IAAI,CAAC,CAAA;QACV,OAAO,KAAK,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;YAC9B,IAAI,OAAO,CAAC,KAAK,CAAC,KAAK,GAAG,IAAI,OAAO,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;gBACzD,QAAQ,IAAI,IAAI,CAAA;gBAChB,KAAK,IAAI,CAAC,CAAA;gBACV,SAAQ;YACV,CAAC;YACD,QAAQ,IAAI,GAAG,CAAA;YACf,IAAI,OAAO,CAAC,KAAK,CAAC,KAAK,GAAG,EAAE,CAAC;gBAC3B,KAAK,IAAI,CAAC,CAAA;gBACV,MAAK;YACP,CAAC;YACD,KAAK,IAAI,CAAC,CAAA;QACZ,CAAC;IACH,CAAC;IACD,OAAO,QAAQ,CAAA;AACjB,CAAC;AAED,MAAM,UAAU,iCAAiC,CAAC,OAAe;IAC/D,OAAO,uDAAuD,CAAC,IAAI,CAAC,iCAAiC,CAAC,OAAO,CAAC,CAAC,CAAA;AACjH,CAAC;AAED,MAAM,UAAU,iCAAiC,CAAC,OAAe;IAC/D,OAAO,wDAAwD,CAAC,IAAI,CAAC,iCAAiC,CAAC,OAAO,CAAC,CAAC,CAAA;AAClH,CAAC;AAED,MAAM,UAAU,6CAA6C,CAAC,QAAuB;IACnF,OAAO,CAAC,QAAQ,CAAC,QAAQ,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE;QACrD,MAAM,GAAG,GAAG,OAAO,KAAK,CAAC,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAA;QACjE,OAAO,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,iCAAiC,CAAC,GAAG,CAAC,CAAA;IACjE,CAAC,CAAC,CAAA;AACJ,CAAC"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import type { WorkbookMetadataSnapshot } from '@bilig/protocol';
|
|
2
|
+
interface ImportedWorkbookMetadataInput {
|
|
3
|
+
readonly properties?: WorkbookMetadataSnapshot['properties'];
|
|
4
|
+
readonly documentPropertyArtifacts?: WorkbookMetadataSnapshot['documentPropertyArtifacts'];
|
|
5
|
+
readonly workbookProtection?: WorkbookMetadataSnapshot['workbookProtection'];
|
|
6
|
+
readonly calculationSettings?: WorkbookMetadataSnapshot['calculationSettings'];
|
|
7
|
+
readonly macroPayloads?: WorkbookMetadataSnapshot['macroPayloads'];
|
|
8
|
+
readonly styles?: WorkbookMetadataSnapshot['styles'];
|
|
9
|
+
readonly definedNames?: WorkbookMetadataSnapshot['definedNames'];
|
|
10
|
+
readonly tables?: WorkbookMetadataSnapshot['tables'];
|
|
11
|
+
readonly spills?: WorkbookMetadataSnapshot['spills'];
|
|
12
|
+
readonly pivots?: WorkbookMetadataSnapshot['pivots'];
|
|
13
|
+
readonly pivotArtifacts?: WorkbookMetadataSnapshot['pivotArtifacts'];
|
|
14
|
+
readonly drawingArtifacts?: WorkbookMetadataSnapshot['drawingArtifacts'];
|
|
15
|
+
readonly chartArtifacts?: WorkbookMetadataSnapshot['chartArtifacts'];
|
|
16
|
+
readonly chartSheetArtifacts?: WorkbookMetadataSnapshot['chartSheetArtifacts'];
|
|
17
|
+
readonly controlArtifacts?: WorkbookMetadataSnapshot['controlArtifacts'];
|
|
18
|
+
readonly dataModelArtifacts?: WorkbookMetadataSnapshot['dataModelArtifacts'];
|
|
19
|
+
readonly externalLinkArtifacts?: WorkbookMetadataSnapshot['externalLinkArtifacts'];
|
|
20
|
+
readonly slicerConnectionArtifacts?: WorkbookMetadataSnapshot['slicerConnectionArtifacts'];
|
|
21
|
+
readonly threadedCommentArtifacts?: WorkbookMetadataSnapshot['threadedCommentArtifacts'];
|
|
22
|
+
readonly viewState?: WorkbookMetadataSnapshot['viewState'];
|
|
23
|
+
readonly charts?: WorkbookMetadataSnapshot['charts'];
|
|
24
|
+
readonly styleArtifacts?: WorkbookMetadataSnapshot['styleArtifacts'];
|
|
25
|
+
readonly cellMetadata?: WorkbookMetadataSnapshot['cellMetadata'];
|
|
26
|
+
}
|
|
27
|
+
export declare function buildImportedWorkbookMetadata(input: ImportedWorkbookMetadataInput): WorkbookMetadataSnapshot | undefined;
|
|
28
|
+
export {};
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
export function buildImportedWorkbookMetadata(input) {
|
|
2
|
+
const metadata = {
|
|
3
|
+
...(input.properties ? { properties: input.properties } : {}),
|
|
4
|
+
...(input.documentPropertyArtifacts ? { documentPropertyArtifacts: input.documentPropertyArtifacts } : {}),
|
|
5
|
+
...(input.workbookProtection ? { workbookProtection: input.workbookProtection } : {}),
|
|
6
|
+
...(input.calculationSettings ? { calculationSettings: input.calculationSettings } : {}),
|
|
7
|
+
...(input.macroPayloads ? { macroPayloads: input.macroPayloads } : {}),
|
|
8
|
+
...(input.styles ? { styles: input.styles } : {}),
|
|
9
|
+
...(input.definedNames ? { definedNames: input.definedNames } : {}),
|
|
10
|
+
...(input.tables ? { tables: input.tables } : {}),
|
|
11
|
+
...(input.spills ? { spills: input.spills } : {}),
|
|
12
|
+
...(input.pivots ? { pivots: input.pivots } : {}),
|
|
13
|
+
...(input.pivotArtifacts ? { pivotArtifacts: input.pivotArtifacts } : {}),
|
|
14
|
+
...(input.drawingArtifacts ? { drawingArtifacts: input.drawingArtifacts } : {}),
|
|
15
|
+
...(input.chartArtifacts ? { chartArtifacts: input.chartArtifacts } : {}),
|
|
16
|
+
...(input.chartSheetArtifacts ? { chartSheetArtifacts: input.chartSheetArtifacts } : {}),
|
|
17
|
+
...(input.controlArtifacts ? { controlArtifacts: input.controlArtifacts } : {}),
|
|
18
|
+
...(input.dataModelArtifacts ? { dataModelArtifacts: input.dataModelArtifacts } : {}),
|
|
19
|
+
...(input.externalLinkArtifacts ? { externalLinkArtifacts: input.externalLinkArtifacts } : {}),
|
|
20
|
+
...(input.slicerConnectionArtifacts ? { slicerConnectionArtifacts: input.slicerConnectionArtifacts } : {}),
|
|
21
|
+
...(input.threadedCommentArtifacts ? { threadedCommentArtifacts: input.threadedCommentArtifacts } : {}),
|
|
22
|
+
...(input.viewState ? { viewState: input.viewState } : {}),
|
|
23
|
+
...(input.charts ? { charts: input.charts } : {}),
|
|
24
|
+
...(input.styleArtifacts ? { styleArtifacts: input.styleArtifacts } : {}),
|
|
25
|
+
...(input.cellMetadata ? { cellMetadata: input.cellMetadata } : {}),
|
|
26
|
+
};
|
|
27
|
+
return Object.keys(metadata).length > 0 ? metadata : undefined;
|
|
28
|
+
}
|
|
29
|
+
//# sourceMappingURL=xlsx-import-workbook-metadata.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"xlsx-import-workbook-metadata.js","sourceRoot":"","sources":["../src/xlsx-import-workbook-metadata.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { WorkbookMacroPayloadSnapshot } from '@bilig/protocol';
|
|
2
|
+
export interface PreservedVbaProjectCodeNames {
|
|
3
|
+
readonly workbookCodeName?: string;
|
|
4
|
+
readonly sheetCodeNames?: readonly {
|
|
5
|
+
readonly sheetName: string;
|
|
6
|
+
readonly codeName: string;
|
|
7
|
+
}[];
|
|
8
|
+
}
|
|
9
|
+
export declare function createPreservedVbaProjectPayload(bytes: Uint8Array, codeNames?: PreservedVbaProjectCodeNames): WorkbookMacroPayloadSnapshot;
|
|
10
|
+
export declare function decodePreservedVbaProjectPayload(payload: WorkbookMacroPayloadSnapshot | undefined): Uint8Array | undefined;
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
const binaryChunkSize = 0x8000;
|
|
2
|
+
function encodeBinaryString(bytes) {
|
|
3
|
+
let binary = '';
|
|
4
|
+
for (let offset = 0; offset < bytes.length; offset += binaryChunkSize) {
|
|
5
|
+
binary += String.fromCharCode(...bytes.subarray(offset, offset + binaryChunkSize));
|
|
6
|
+
}
|
|
7
|
+
return binary;
|
|
8
|
+
}
|
|
9
|
+
function decodeBinaryString(binary) {
|
|
10
|
+
const bytes = new Uint8Array(binary.length);
|
|
11
|
+
for (let index = 0; index < binary.length; index += 1) {
|
|
12
|
+
bytes[index] = binary.charCodeAt(index);
|
|
13
|
+
}
|
|
14
|
+
return bytes;
|
|
15
|
+
}
|
|
16
|
+
function encodeBase64(bytes) {
|
|
17
|
+
const btoa = globalThis.btoa;
|
|
18
|
+
if (typeof btoa === 'function') {
|
|
19
|
+
return btoa(encodeBinaryString(bytes));
|
|
20
|
+
}
|
|
21
|
+
return Buffer.from(bytes).toString('base64');
|
|
22
|
+
}
|
|
23
|
+
function decodeBase64(dataBase64) {
|
|
24
|
+
const atob = globalThis.atob;
|
|
25
|
+
if (typeof atob === 'function') {
|
|
26
|
+
return decodeBinaryString(atob(dataBase64));
|
|
27
|
+
}
|
|
28
|
+
return new Uint8Array(Buffer.from(dataBase64, 'base64'));
|
|
29
|
+
}
|
|
30
|
+
function normalizeCodeName(value) {
|
|
31
|
+
const trimmed = value?.trim();
|
|
32
|
+
return trimmed && trimmed.length > 0 ? trimmed : undefined;
|
|
33
|
+
}
|
|
34
|
+
function normalizeSheetCodeNames(sheetCodeNames) {
|
|
35
|
+
const normalized = sheetCodeNames
|
|
36
|
+
?.map((entry) => ({
|
|
37
|
+
sheetName: entry.sheetName.trim(),
|
|
38
|
+
codeName: entry.codeName.trim(),
|
|
39
|
+
}))
|
|
40
|
+
.filter((entry) => entry.sheetName.length > 0 && entry.codeName.length > 0) ?? [];
|
|
41
|
+
return normalized.length > 0 ? normalized : undefined;
|
|
42
|
+
}
|
|
43
|
+
export function createPreservedVbaProjectPayload(bytes, codeNames = {}) {
|
|
44
|
+
const workbookCodeName = normalizeCodeName(codeNames.workbookCodeName);
|
|
45
|
+
const sheetCodeNames = normalizeSheetCodeNames(codeNames.sheetCodeNames);
|
|
46
|
+
return {
|
|
47
|
+
kind: 'vbaProject',
|
|
48
|
+
storage: 'base64',
|
|
49
|
+
dataBase64: encodeBase64(bytes),
|
|
50
|
+
byteLength: bytes.byteLength,
|
|
51
|
+
preservedWithoutExecution: true,
|
|
52
|
+
...(workbookCodeName ? { workbookCodeName } : {}),
|
|
53
|
+
...(sheetCodeNames ? { sheetCodeNames } : {}),
|
|
54
|
+
};
|
|
55
|
+
}
|
|
56
|
+
export function decodePreservedVbaProjectPayload(payload) {
|
|
57
|
+
if (!payload || payload.kind !== 'vbaProject' || payload.storage !== 'base64' || !payload.preservedWithoutExecution) {
|
|
58
|
+
return undefined;
|
|
59
|
+
}
|
|
60
|
+
const bytes = decodeBase64(payload.dataBase64);
|
|
61
|
+
return bytes.byteLength === payload.byteLength ? bytes : undefined;
|
|
62
|
+
}
|
|
63
|
+
//# sourceMappingURL=xlsx-macros.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"xlsx-macros.js","sourceRoot":"","sources":["../src/xlsx-macros.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import * as XLSX from 'xlsx';
|
|
2
|
+
export function buildMergeEntries(sheetName, merges) {
|
|
3
|
+
if (!Array.isArray(merges) || merges.length === 0) {
|
|
4
|
+
return undefined;
|
|
5
|
+
}
|
|
6
|
+
const entries = merges.flatMap((range) => range.s.r === range.e.r && range.s.c === range.e.c
|
|
7
|
+
? []
|
|
8
|
+
: [
|
|
9
|
+
{
|
|
10
|
+
sheetName,
|
|
11
|
+
startAddress: XLSX.utils.encode_cell(range.s),
|
|
12
|
+
endAddress: XLSX.utils.encode_cell(range.e),
|
|
13
|
+
},
|
|
14
|
+
]);
|
|
15
|
+
return entries.length > 0 ? entries : undefined;
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=xlsx-merge-entries.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"xlsx-merge-entries.js","sourceRoot":"","sources":["../src/xlsx-merge-entries.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,IAAI,MAAM,MAAM,CAAA;AAI5B,MAAM,UAAU,iBAAiB,CAAC,SAAiB,EAAE,MAAyC;IAC5F,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAClD,OAAO,SAAS,CAAA;IAClB,CAAC;IACD,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE,CACvC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC;QAChD,CAAC,CAAC,EAAE;QACJ,CAAC,CAAC;YACE;gBACE,SAAS;gBACT,YAAY,EAAE,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC;gBAC7C,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC;aAC5C;SACF,CACN,CAAA;IACD,OAAO,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAA;AACjD,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import * as XLSX from 'xlsx';
|
|
2
|
+
import { type XlsxZipSource } from './xlsx-zip.js';
|
|
3
|
+
interface ImportedWorkbookFileNumberFormatsOptions {
|
|
4
|
+
formatCandidateAddressesBySheet?: ReadonlyMap<string, ReadonlySet<string>>;
|
|
5
|
+
}
|
|
6
|
+
export declare function readImportedWorkbookFileNumberFormats(workbook: XLSX.WorkBook, sheetNames: readonly string[], options?: ImportedWorkbookFileNumberFormatsOptions, source?: XlsxZipSource): Map<string, Map<string, string>>;
|
|
7
|
+
export {};
|