@node-projects/excelforge 2.3.0 → 3.0.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/.github/FUNDING.yml +4 -0
- package/MISSING.md +326 -0
- package/README.md +484 -12
- package/dist/core/SharedStrings.js +6 -2
- package/dist/core/SharedStrings.js.map +1 -1
- package/dist/core/Workbook.d.ts +41 -1
- package/dist/core/Workbook.js +773 -57
- package/dist/core/Workbook.js.map +1 -1
- package/dist/core/WorkbookReader.d.ts +18 -4
- package/dist/core/WorkbookReader.js +1386 -20
- package/dist/core/WorkbookReader.js.map +1 -1
- package/dist/core/Worksheet.d.ts +130 -2
- package/dist/core/Worksheet.js +792 -66
- package/dist/core/Worksheet.js.map +1 -1
- package/dist/core/types.d.ts +287 -5
- package/dist/core/types.js +12 -1
- package/dist/core/types.js.map +1 -1
- package/dist/features/ChartBuilder.d.ts +9 -1
- package/dist/features/ChartBuilder.js +140 -14
- package/dist/features/ChartBuilder.js.map +1 -1
- package/dist/features/CsvModule.d.ts +11 -0
- package/dist/features/CsvModule.js +137 -0
- package/dist/features/CsvModule.js.map +1 -0
- package/dist/features/Encryption.d.ts +6 -0
- package/dist/features/Encryption.js +806 -0
- package/dist/features/Encryption.js.map +1 -0
- package/dist/features/FormControlBuilder.d.ts +6 -0
- package/dist/features/FormControlBuilder.js +135 -0
- package/dist/features/FormControlBuilder.js.map +1 -0
- package/dist/features/FormulaEngine.d.ts +22 -0
- package/dist/features/FormulaEngine.js +498 -0
- package/dist/features/FormulaEngine.js.map +1 -0
- package/dist/features/HtmlModule.d.ts +21 -0
- package/dist/features/HtmlModule.js +1417 -0
- package/dist/features/HtmlModule.js.map +1 -0
- package/dist/features/JsonModule.d.ts +10 -0
- package/dist/features/JsonModule.js +76 -0
- package/dist/features/JsonModule.js.map +1 -0
- package/dist/features/PivotTableBuilder.d.ts +7 -0
- package/dist/features/PivotTableBuilder.js +170 -0
- package/dist/features/PivotTableBuilder.js.map +1 -0
- package/dist/features/Signing.d.ts +12 -0
- package/dist/features/Signing.js +318 -0
- package/dist/features/Signing.js.map +1 -0
- package/dist/features/TableBuilder.js +2 -2
- package/dist/features/TableBuilder.js.map +1 -1
- package/dist/index-min.js +579 -144
- package/dist/index.d.ts +17 -1
- package/dist/index.js +10 -0
- package/dist/index.js.map +1 -1
- package/dist/styles/StyleRegistry.d.ts +14 -0
- package/dist/styles/StyleRegistry.js +95 -30
- package/dist/styles/StyleRegistry.js.map +1 -1
- package/dist/utils/helpers.d.ts +4 -0
- package/dist/utils/helpers.js +64 -14
- package/dist/utils/helpers.js.map +1 -1
- package/dist/utils/zip.js +145 -73
- package/dist/utils/zip.js.map +1 -1
- package/dist/vba/VbaProject.d.ts +19 -0
- package/dist/vba/VbaProject.js +281 -0
- package/dist/vba/VbaProject.js.map +1 -0
- package/dist/vba/cfb.d.ts +7 -0
- package/dist/vba/cfb.js +352 -0
- package/dist/vba/cfb.js.map +1 -0
- package/dist/vba/ovba.d.ts +2 -0
- package/dist/vba/ovba.js +137 -0
- package/dist/vba/ovba.js.map +1 -0
- package/package.json +4 -3
- package/validator.cs +0 -155
- package/validatorEpplus.cs +0 -27
- package/validatorReadData.cs +0 -111
|
@@ -3,14 +3,69 @@ const COLORS = [
|
|
|
3
3
|
'FF4472C4', 'FFED7D31', 'FFA5A5A5', 'FFFFC000', 'FF5B9BD5',
|
|
4
4
|
'FF70AD47', 'FF264478', 'FF9E480E', 'FF636363', 'FF997300',
|
|
5
5
|
];
|
|
6
|
-
|
|
7
|
-
|
|
6
|
+
const PALETTES = {
|
|
7
|
+
office: ['4472C4', 'ED7D31', 'A5A5A5', 'FFC000', '5B9BD5', '70AD47', '264478', '9E480E', '636363', '997300'],
|
|
8
|
+
blue: ['5B9BD5', '8FAADC', 'B4C7E7', 'D6DCE4', '4472C4', '2F5597', '1F4E79', '002060', '00B0F0', '0070C0'],
|
|
9
|
+
orange: ['ED7D31', 'F4B183', 'F8CBAD', 'FCE4D6', 'C55A11', '843C0C', 'BF8F00', '806000', 'FFD966', 'FFC000'],
|
|
10
|
+
green: ['70AD47', 'A9D18E', 'C5E0B4', 'E2F0D9', '548235', '375623', '92D050', '00B050', '00B0F0', '00FF00'],
|
|
11
|
+
red: ['FF0000', 'FF6161', 'FF9F9F', 'FFD2D2', 'C00000', '8B0000', 'FFC000', 'FF6600', 'FF3300', 'CC0000'],
|
|
12
|
+
purple: ['7030A0', '9B59B6', 'BB8FCE', 'D7BDE2', '5B2C6F', '4A235A', '8E44AD', '6C3483', 'A569BD', 'D2B4DE'],
|
|
13
|
+
teal: ['00B0F0', '00BCD4', '26C6DA', '80DEEA', '0097A7', '006064', '009688', '00796B', '4DB6AC', '80CBC4'],
|
|
14
|
+
gray: ['595959', '808080', 'A6A6A6', 'D9D9D9', '404040', '262626', 'BFBFBF', 'F2F2F2', '7F7F7F', 'C0C0C0'],
|
|
15
|
+
gold: ['FFC000', 'FFD966', 'FFE699', 'FFF2CC', 'BF8F00', '806000', 'ED7D31', 'F4B183', 'DBA13A', 'C09100'],
|
|
16
|
+
blueWarm: ['4472C4', '5B9BD5', '9DC3E6', 'BDD7EE', 'DEEBF7', '2E75B6', '1F4E79', '2F5597', '8FAADC', 'D6DCE4'],
|
|
17
|
+
blueGreen: ['00B0F0', '00B050', '70AD47', '5B9BD5', '4472C4', '2E75B6', '548235', '00B0F0', '009688', '00796B'],
|
|
18
|
+
greenYellow: ['70AD47', '92D050', 'C9E265', 'FFD966', 'FFC000', '548235', 'BF8F00', 'A9D18E', 'E2F0D9', 'C5E0B4'],
|
|
19
|
+
redOrange: ['FF0000', 'ED7D31', 'FFC000', 'FF6600', 'C00000', '843C0C', 'BF8F00', 'FF3300', 'F4B183', 'FFD966'],
|
|
20
|
+
redViolet: ['FF0000', '7030A0', 'ED7D31', 'C00000', '5B2C6F', '843C0C', 'FF6161', '9B59B6', 'F4B183', 'BB8FCE'],
|
|
21
|
+
yellowOrange: ['FFC000', 'ED7D31', 'FFD966', 'F4B183', 'BF8F00', 'C55A11', 'FFE699', 'F8CBAD', '806000', '843C0C'],
|
|
22
|
+
slipstream: ['4472C4', 'ED7D31', 'A5A5A5', 'FFC000', '5B9BD5', '70AD47', '255E91', '9E480E', '636363', '997300'],
|
|
23
|
+
marquee: ['ED7D31', '4472C4', '70AD47', 'FFC000', '5B9BD5', 'A5A5A5', '264478', '9E480E', '636363', '997300'],
|
|
24
|
+
aspect: ['5B9BD5', '4472C4', 'ED7D31', 'FFC000', '70AD47', 'A5A5A5', '9E480E', '264478', '636363', '997300'],
|
|
25
|
+
};
|
|
26
|
+
const MODERN_STYLE_MAP = {
|
|
27
|
+
colorful1: 102, colorful2: 103, colorful3: 104, colorful4: 105,
|
|
28
|
+
monochromatic1: 201, monochromatic2: 202, monochromatic3: 203, monochromatic4: 204,
|
|
29
|
+
monochromatic5: 205, monochromatic6: 206, monochromatic7: 207, monochromatic8: 208,
|
|
30
|
+
monochromatic9: 209, monochromatic10: 210, monochromatic11: 211, monochromatic12: 212,
|
|
31
|
+
};
|
|
32
|
+
function spPr(color, series) {
|
|
33
|
+
const aNs = ' xmlns:a="http://schemas.openxmlformats.org/drawingml/2006/main"';
|
|
34
|
+
const hex = color.replace(/^FF/, '');
|
|
35
|
+
let fill;
|
|
36
|
+
if (series?.fillType === 'gradient' && series.gradientStops?.length) {
|
|
37
|
+
const stops = series.gradientStops.map(s => `<a:gs pos="${s.pos * 1000}"><a:srgbClr val="${s.color.replace(/^FF/, '').replace(/^#/, '')}"/></a:gs>`).join('');
|
|
38
|
+
fill = `<a:gradFill><a:gsLst>${stops}</a:gsLst><a:lin ang="5400000" scaled="0"/></a:gradFill>`;
|
|
39
|
+
}
|
|
40
|
+
else {
|
|
41
|
+
fill = `<a:solidFill><a:srgbClr val="${hex}"/></a:solidFill>`;
|
|
42
|
+
}
|
|
43
|
+
const lnWidth = series?.lineWidth ? ` w="${Math.round(series.lineWidth * 12700)}"` : '';
|
|
44
|
+
const ln = lnWidth ? `<a:ln${lnWidth}><a:solidFill><a:srgbClr val="${hex}"/></a:solidFill></a:ln>` : '';
|
|
45
|
+
return `<c:spPr${aNs}>${fill}${ln}</c:spPr>`;
|
|
46
|
+
}
|
|
47
|
+
function spPrSimple(color) {
|
|
48
|
+
return `<c:spPr><a:solidFill xmlns:a="http://schemas.openxmlformats.org/drawingml/2006/main"><a:srgbClr val="${color.replace(/^FF/, '')}"/></a:solidFill></c:spPr>`;
|
|
49
|
+
}
|
|
50
|
+
function dataLabelsXml(dl) {
|
|
51
|
+
if (!dl)
|
|
52
|
+
return '';
|
|
53
|
+
const parts = [
|
|
54
|
+
dl.numFmt ? `<c:numFmt formatCode="${escapeXml(dl.numFmt)}" sourceLinked="0"/>` : '',
|
|
55
|
+
dl.position ? `<c:dLblPos val="${dl.position}"/>` : '',
|
|
56
|
+
`<c:showLegendKey val="0"/>`,
|
|
57
|
+
`<c:showVal val="${dl.showValue ? '1' : '0'}"/>`,
|
|
58
|
+
`<c:showCatName val="${dl.showCategory ? '1' : '0'}"/>`,
|
|
59
|
+
`<c:showSerName val="${dl.showSeriesName ? '1' : '0'}"/>`,
|
|
60
|
+
`<c:showPercent val="${dl.showPercent ? '1' : '0'}"/>`,
|
|
61
|
+
];
|
|
62
|
+
return `<c:dLbls>${parts.join('')}</c:dLbls>`;
|
|
8
63
|
}
|
|
9
|
-
function seriesXml(type, series, idx) {
|
|
64
|
+
function seriesXml(type, series, idx, palette) {
|
|
10
65
|
return series.map((s, i) => {
|
|
11
66
|
const color = s.color
|
|
12
67
|
? s.color.startsWith('#') ? 'FF' + s.color.slice(1) : s.color
|
|
13
|
-
: COLORS[i % COLORS.length];
|
|
68
|
+
: palette ? 'FF' + palette[i % palette.length] : COLORS[i % COLORS.length];
|
|
14
69
|
const catXml = s.categories
|
|
15
70
|
? `<c:cat><c:strRef><c:f>${escapeXml(s.categories)}</c:f></c:strRef></c:cat>`
|
|
16
71
|
: '';
|
|
@@ -20,7 +75,8 @@ function seriesXml(type, series, idx) {
|
|
|
20
75
|
: '';
|
|
21
76
|
const marker = type.startsWith('line') || type === 'scatter'
|
|
22
77
|
? `<c:marker><c:symbol val="none"/></c:marker>` : '';
|
|
23
|
-
|
|
78
|
+
const dlXml = dataLabelsXml(s.dataLabels);
|
|
79
|
+
return `<c:ser><c:idx val="${i}"/><c:order val="${i}"/>${nameXml}${spPr(color, s)}${marker}${dlXml}${catXml}${valXml}</c:ser>`;
|
|
24
80
|
}).join('');
|
|
25
81
|
}
|
|
26
82
|
function axisXml(id, crossId, axis, delete_ = false) {
|
|
@@ -59,12 +115,15 @@ function catAxisXml(id, crossId, axis) {
|
|
|
59
115
|
function legendXml(legend) {
|
|
60
116
|
if (legend === false)
|
|
61
117
|
return '';
|
|
62
|
-
const
|
|
118
|
+
const raw = typeof legend === 'string' ? legend : 'b';
|
|
119
|
+
const posMap = { bottom: 'b', top: 't', left: 'l', right: 'r', corner: 'tr' };
|
|
120
|
+
const pos = posMap[raw] ?? raw;
|
|
63
121
|
return `<c:legend><c:legendPos val="${pos}"/></c:legend>`;
|
|
64
122
|
}
|
|
65
123
|
export function buildChartXml(chart) {
|
|
66
124
|
const type = chart.type;
|
|
67
125
|
const series = chart.series;
|
|
126
|
+
const palette = chart.colorPalette ? PALETTES[chart.colorPalette] : undefined;
|
|
68
127
|
const title = chart.title
|
|
69
128
|
? `<c:title><c:tx><c:rich>
|
|
70
129
|
<a:bodyPr xmlns:a="http://schemas.openxmlformats.org/drawingml/2006/main"/>
|
|
@@ -73,6 +132,7 @@ export function buildChartXml(chart) {
|
|
|
73
132
|
</a:p>
|
|
74
133
|
</c:rich></c:tx><c:overlay val="0"/></c:title>` : '';
|
|
75
134
|
const varyColors = chart.varyColors ? `<c:varyColors val="1"/>` : '';
|
|
135
|
+
const globalDL = dataLabelsXml(chart.dataLabels);
|
|
76
136
|
let plotXml = '';
|
|
77
137
|
const isPie = type === 'pie' || type === 'doughnut';
|
|
78
138
|
const isBar = type.startsWith('bar') || type.startsWith('column');
|
|
@@ -87,7 +147,7 @@ export function buildChartXml(chart) {
|
|
|
87
147
|
if (isPie) {
|
|
88
148
|
const tag = type === 'doughnut' ? 'doughnutChart' : 'pieChart';
|
|
89
149
|
const hole = type === 'doughnut' ? `<c:holeSize val="50"/>` : '';
|
|
90
|
-
plotXml = `<c:${tag}>${varyColors}${seriesXml(type, series, 0)}${hole}</c:${tag}>`;
|
|
150
|
+
plotXml = `<c:${tag}>${varyColors}${seriesXml(type, series, 0, palette)}${globalDL}${hole}</c:${tag}>`;
|
|
91
151
|
}
|
|
92
152
|
else if (isBar) {
|
|
93
153
|
const barDir = type.startsWith('bar') ? 'bar' : 'col';
|
|
@@ -95,7 +155,8 @@ export function buildChartXml(chart) {
|
|
|
95
155
|
<c:barDir val="${barDir}"/>
|
|
96
156
|
${grouping ? `<c:grouping val="${grouping}"/>` : ''}
|
|
97
157
|
${varyColors}
|
|
98
|
-
${seriesXml(type, series, 0)}
|
|
158
|
+
${seriesXml(type, series, 0, palette)}
|
|
159
|
+
${globalDL}
|
|
99
160
|
<c:axId val="1"/><c:axId val="2"/>
|
|
100
161
|
</c:barChart>`;
|
|
101
162
|
}
|
|
@@ -103,7 +164,8 @@ export function buildChartXml(chart) {
|
|
|
103
164
|
plotXml = `<c:lineChart>
|
|
104
165
|
${grouping ? `<c:grouping val="${grouping}"/>` : ''}
|
|
105
166
|
${varyColors}
|
|
106
|
-
${seriesXml(type, series, 0)}
|
|
167
|
+
${seriesXml(type, series, 0, palette)}
|
|
168
|
+
${globalDL}
|
|
107
169
|
<c:axId val="1"/><c:axId val="2"/>
|
|
108
170
|
</c:lineChart>`;
|
|
109
171
|
}
|
|
@@ -111,7 +173,8 @@ export function buildChartXml(chart) {
|
|
|
111
173
|
plotXml = `<c:scatterChart>
|
|
112
174
|
<c:scatterStyle val="${type === 'scatterSmooth' ? 'smoothMarker' : 'marker'}"/>
|
|
113
175
|
${varyColors}
|
|
114
|
-
${seriesXml(type, series, 0)}
|
|
176
|
+
${seriesXml(type, series, 0, palette)}
|
|
177
|
+
${globalDL}
|
|
115
178
|
<c:axId val="1"/><c:axId val="2"/>
|
|
116
179
|
</c:scatterChart>`;
|
|
117
180
|
}
|
|
@@ -119,7 +182,8 @@ export function buildChartXml(chart) {
|
|
|
119
182
|
plotXml = `<c:areaChart>
|
|
120
183
|
${grouping ? `<c:grouping val="${grouping}"/>` : ''}
|
|
121
184
|
${varyColors}
|
|
122
|
-
${seriesXml(type, series, 0)}
|
|
185
|
+
${seriesXml(type, series, 0, palette)}
|
|
186
|
+
${globalDL}
|
|
123
187
|
<c:axId val="1"/><c:axId val="2"/>
|
|
124
188
|
</c:areaChart>`;
|
|
125
189
|
}
|
|
@@ -127,7 +191,8 @@ export function buildChartXml(chart) {
|
|
|
127
191
|
plotXml = `<c:radarChart>
|
|
128
192
|
<c:radarStyle val="${type === 'radarFilled' ? 'filled' : 'marker'}"/>
|
|
129
193
|
${varyColors}
|
|
130
|
-
${seriesXml(type, series, 0)}
|
|
194
|
+
${seriesXml(type, series, 0, palette)}
|
|
195
|
+
${globalDL}
|
|
131
196
|
<c:axId val="1"/><c:axId val="2"/>
|
|
132
197
|
</c:radarChart>`;
|
|
133
198
|
}
|
|
@@ -136,7 +201,8 @@ export function buildChartXml(chart) {
|
|
|
136
201
|
<c:barDir val="col"/>
|
|
137
202
|
<c:grouping val="clustered"/>
|
|
138
203
|
${varyColors}
|
|
139
|
-
${seriesXml(type, series, 0)}
|
|
204
|
+
${seriesXml(type, series, 0, palette)}
|
|
205
|
+
${globalDL}
|
|
140
206
|
<c:axId val="1"/><c:axId val="2"/>
|
|
141
207
|
</c:barChart>`;
|
|
142
208
|
}
|
|
@@ -145,11 +211,26 @@ export function buildChartXml(chart) {
|
|
|
145
211
|
? catAxisXml(1, 2, chart.xAxis) + axisXml(2, 1, chart.yAxis)
|
|
146
212
|
: '';
|
|
147
213
|
const legXml = legendXml(chart.legend ?? 'b');
|
|
214
|
+
const styleVal = chart.modernStyle ? Math.min(MODERN_STYLE_MAP[chart.modernStyle], 48) : chart.style;
|
|
215
|
+
const styleXml = styleVal ? `<c:style val="${styleVal}"/>` : '';
|
|
216
|
+
let chartAreaSpPr = '';
|
|
217
|
+
if (chart.chartFill || chart.shadow) {
|
|
218
|
+
const fillXml = chart.chartFill === 'gradient'
|
|
219
|
+
? `<a:gradFill><a:gsLst><a:gs pos="0"><a:schemeClr val="lt1"/></a:gs><a:gs pos="100000"><a:schemeClr val="bg1"><a:lumMod val="85000"/></a:schemeClr></a:gs></a:gsLst><a:lin ang="5400000" scaled="0"/></a:gradFill>`
|
|
220
|
+
: chart.chartFill === 'white' ? `<a:solidFill><a:srgbClr val="FFFFFF"/></a:solidFill>`
|
|
221
|
+
: chart.chartFill === 'none' ? `<a:noFill/>` : '';
|
|
222
|
+
const shadowXml = chart.shadow
|
|
223
|
+
? `<a:effectLst><a:outerShdw blurRad="50800" dist="38100" dir="5400000" algn="t" rotWithShape="0"><a:srgbClr val="000000"><a:alpha val="40000"/></a:srgbClr></a:outerShdw></a:effectLst>`
|
|
224
|
+
: '';
|
|
225
|
+
chartAreaSpPr = `<c:spPr>${fillXml}${shadowXml}</c:spPr>`;
|
|
226
|
+
}
|
|
227
|
+
const roundedXml = chart.roundedCorners ? `<c:roundedCorners val="1"/>` : '';
|
|
148
228
|
return `<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
|
149
229
|
<c:chartSpace xmlns:c="http://schemas.openxmlformats.org/drawingml/2006/chart"
|
|
150
230
|
xmlns:a="http://schemas.openxmlformats.org/drawingml/2006/main"
|
|
151
231
|
xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships">
|
|
152
|
-
${
|
|
232
|
+
${roundedXml}
|
|
233
|
+
${styleXml}
|
|
153
234
|
<c:chart>
|
|
154
235
|
${title}
|
|
155
236
|
<c:autoTitleDeleted val="${chart.title ? '0' : '1'}"/>
|
|
@@ -160,6 +241,51 @@ ${chart.style ? `<c:style val="${chart.style}"/>` : ''}
|
|
|
160
241
|
${legXml}
|
|
161
242
|
<c:plotVisOnly val="1"/>
|
|
162
243
|
</c:chart>
|
|
244
|
+
${chartAreaSpPr}
|
|
163
245
|
</c:chartSpace>`;
|
|
164
246
|
}
|
|
247
|
+
export function saveChartTemplate(chart) {
|
|
248
|
+
return {
|
|
249
|
+
type: chart.type,
|
|
250
|
+
style: chart.style,
|
|
251
|
+
modernStyle: chart.modernStyle,
|
|
252
|
+
colorPalette: chart.colorPalette,
|
|
253
|
+
legend: chart.legend,
|
|
254
|
+
xAxis: chart.xAxis,
|
|
255
|
+
yAxis: chart.yAxis,
|
|
256
|
+
dataLabels: chart.dataLabels,
|
|
257
|
+
chartFill: chart.chartFill,
|
|
258
|
+
roundedCorners: chart.roundedCorners,
|
|
259
|
+
shadow: chart.shadow,
|
|
260
|
+
varyColors: chart.varyColors,
|
|
261
|
+
grouping: chart.grouping,
|
|
262
|
+
};
|
|
263
|
+
}
|
|
264
|
+
export function applyChartTemplate(template, chart) {
|
|
265
|
+
return {
|
|
266
|
+
type: chart.type ?? template.type,
|
|
267
|
+
title: chart.title,
|
|
268
|
+
series: chart.series,
|
|
269
|
+
from: chart.from,
|
|
270
|
+
to: chart.to,
|
|
271
|
+
xAxis: chart.xAxis ?? template.xAxis,
|
|
272
|
+
yAxis: chart.yAxis ?? template.yAxis,
|
|
273
|
+
legend: chart.legend ?? template.legend,
|
|
274
|
+
style: chart.style ?? template.style,
|
|
275
|
+
modernStyle: chart.modernStyle ?? template.modernStyle,
|
|
276
|
+
colorPalette: chart.colorPalette ?? template.colorPalette,
|
|
277
|
+
dataLabels: chart.dataLabels ?? template.dataLabels,
|
|
278
|
+
chartFill: chart.chartFill ?? template.chartFill,
|
|
279
|
+
roundedCorners: chart.roundedCorners ?? template.roundedCorners,
|
|
280
|
+
shadow: chart.shadow ?? template.shadow,
|
|
281
|
+
varyColors: chart.varyColors ?? template.varyColors,
|
|
282
|
+
grouping: chart.grouping ?? template.grouping,
|
|
283
|
+
};
|
|
284
|
+
}
|
|
285
|
+
export function serializeChartTemplate(template) {
|
|
286
|
+
return JSON.stringify(template);
|
|
287
|
+
}
|
|
288
|
+
export function deserializeChartTemplate(json) {
|
|
289
|
+
return JSON.parse(json);
|
|
290
|
+
}
|
|
165
291
|
//# sourceMappingURL=ChartBuilder.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ChartBuilder.js","sourceRoot":"","sources":["../../src/features/ChartBuilder.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ChartBuilder.js","sourceRoot":"","sources":["../../src/features/ChartBuilder.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { Workbook } from '../core/Workbook.js';
|
|
2
|
+
import { Worksheet } from '../core/Worksheet.js';
|
|
3
|
+
export interface CsvOptions {
|
|
4
|
+
delimiter?: string;
|
|
5
|
+
lineEnding?: string;
|
|
6
|
+
quote?: string;
|
|
7
|
+
sheetName?: string;
|
|
8
|
+
includeHeaders?: boolean;
|
|
9
|
+
}
|
|
10
|
+
export declare function worksheetToCsv(ws: Worksheet, options?: CsvOptions): string;
|
|
11
|
+
export declare function csvToWorkbook(csv: string, options?: CsvOptions): Workbook;
|
|
@@ -0,0 +1,137 @@
|
|
|
1
|
+
import { CellError } from '../core/types.js';
|
|
2
|
+
import { Workbook } from '../core/Workbook.js';
|
|
3
|
+
export function worksheetToCsv(ws, options = {}) {
|
|
4
|
+
const delim = options.delimiter ?? ',';
|
|
5
|
+
const eol = options.lineEnding ?? '\r\n';
|
|
6
|
+
const q = options.quote ?? '"';
|
|
7
|
+
const rows = [];
|
|
8
|
+
const allCells = ws.readAllCells();
|
|
9
|
+
let maxRow = 0, maxCol = 0;
|
|
10
|
+
for (const { row, col } of allCells) {
|
|
11
|
+
if (row > maxRow)
|
|
12
|
+
maxRow = row;
|
|
13
|
+
if (col > maxCol)
|
|
14
|
+
maxCol = col;
|
|
15
|
+
}
|
|
16
|
+
const cellMap = new Map();
|
|
17
|
+
for (const { row, col, cell } of allCells) {
|
|
18
|
+
cellMap.set(`${row},${col}`, cell.value ?? null);
|
|
19
|
+
}
|
|
20
|
+
for (let r = 1; r <= maxRow; r++) {
|
|
21
|
+
const fields = [];
|
|
22
|
+
for (let c = 1; c <= maxCol; c++) {
|
|
23
|
+
const v = cellMap.get(`${r},${c}`);
|
|
24
|
+
const s = formatCsvValue(v);
|
|
25
|
+
if (s.includes(delim) || s.includes(q) || s.includes('\n') || s.includes('\r')) {
|
|
26
|
+
fields.push(q + s.replace(new RegExp(q.replace(/[.*+?^${}()|[\]\\]/g, '\\$&'), 'g'), q + q) + q);
|
|
27
|
+
}
|
|
28
|
+
else {
|
|
29
|
+
fields.push(s);
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
rows.push(fields.join(delim));
|
|
33
|
+
}
|
|
34
|
+
return rows.join(eol);
|
|
35
|
+
}
|
|
36
|
+
function formatCsvValue(v) {
|
|
37
|
+
if (v === null || v === undefined)
|
|
38
|
+
return '';
|
|
39
|
+
if (v instanceof CellError)
|
|
40
|
+
return v.error;
|
|
41
|
+
if (v instanceof Date)
|
|
42
|
+
return v.toISOString();
|
|
43
|
+
return String(v);
|
|
44
|
+
}
|
|
45
|
+
export function csvToWorkbook(csv, options = {}) {
|
|
46
|
+
const delim = options.delimiter ?? ',';
|
|
47
|
+
const q = options.quote ?? '"';
|
|
48
|
+
const sheetName = options.sheetName ?? 'Sheet1';
|
|
49
|
+
const rows = parseCsv(csv, delim, q);
|
|
50
|
+
const wb = new Workbook();
|
|
51
|
+
const ws = wb.addSheet(sheetName);
|
|
52
|
+
for (let r = 0; r < rows.length; r++) {
|
|
53
|
+
for (let c = 0; c < rows[r].length; c++) {
|
|
54
|
+
const raw = rows[r][c];
|
|
55
|
+
if (raw === '')
|
|
56
|
+
continue;
|
|
57
|
+
const num = Number(raw);
|
|
58
|
+
if (!isNaN(num) && raw.trim() !== '') {
|
|
59
|
+
ws.setValue(r + 1, c + 1, num);
|
|
60
|
+
}
|
|
61
|
+
else if (raw.toLowerCase() === 'true') {
|
|
62
|
+
ws.setValue(r + 1, c + 1, true);
|
|
63
|
+
}
|
|
64
|
+
else if (raw.toLowerCase() === 'false') {
|
|
65
|
+
ws.setValue(r + 1, c + 1, false);
|
|
66
|
+
}
|
|
67
|
+
else {
|
|
68
|
+
ws.setValue(r + 1, c + 1, raw);
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
return wb;
|
|
73
|
+
}
|
|
74
|
+
function parseCsv(csv, delim, quote) {
|
|
75
|
+
const rows = [];
|
|
76
|
+
let row = [];
|
|
77
|
+
let field = '';
|
|
78
|
+
let inQuotes = false;
|
|
79
|
+
let i = 0;
|
|
80
|
+
const len = csv.length;
|
|
81
|
+
while (i < len) {
|
|
82
|
+
const ch = csv[i];
|
|
83
|
+
if (inQuotes) {
|
|
84
|
+
if (ch === quote) {
|
|
85
|
+
if (i + 1 < len && csv[i + 1] === quote) {
|
|
86
|
+
field += quote;
|
|
87
|
+
i += 2;
|
|
88
|
+
}
|
|
89
|
+
else {
|
|
90
|
+
inQuotes = false;
|
|
91
|
+
i++;
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
else {
|
|
95
|
+
field += ch;
|
|
96
|
+
i++;
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
else {
|
|
100
|
+
if (ch === quote) {
|
|
101
|
+
inQuotes = true;
|
|
102
|
+
i++;
|
|
103
|
+
}
|
|
104
|
+
else if (ch === delim) {
|
|
105
|
+
row.push(field);
|
|
106
|
+
field = '';
|
|
107
|
+
i++;
|
|
108
|
+
}
|
|
109
|
+
else if (ch === '\r') {
|
|
110
|
+
row.push(field);
|
|
111
|
+
field = '';
|
|
112
|
+
rows.push(row);
|
|
113
|
+
row = [];
|
|
114
|
+
i++;
|
|
115
|
+
if (i < len && csv[i] === '\n')
|
|
116
|
+
i++;
|
|
117
|
+
}
|
|
118
|
+
else if (ch === '\n') {
|
|
119
|
+
row.push(field);
|
|
120
|
+
field = '';
|
|
121
|
+
rows.push(row);
|
|
122
|
+
row = [];
|
|
123
|
+
i++;
|
|
124
|
+
}
|
|
125
|
+
else {
|
|
126
|
+
field += ch;
|
|
127
|
+
i++;
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
if (field || row.length) {
|
|
132
|
+
row.push(field);
|
|
133
|
+
rows.push(row);
|
|
134
|
+
}
|
|
135
|
+
return rows;
|
|
136
|
+
}
|
|
137
|
+
//# sourceMappingURL=CsvModule.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CsvModule.js","sourceRoot":"","sources":["../../src/features/CsvModule.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export interface EncryptionOptions {
|
|
2
|
+
spinCount?: number;
|
|
3
|
+
}
|
|
4
|
+
export declare function encryptWorkbook(xlsxData: Uint8Array, password: string, options?: EncryptionOptions): Promise<Uint8Array>;
|
|
5
|
+
export declare function decryptWorkbook(encryptedData: Uint8Array, password: string): Promise<Uint8Array>;
|
|
6
|
+
export declare function isEncrypted(data: Uint8Array): boolean;
|