@silurus/ooxml 0.11.0 → 0.12.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 +1 -0
- package/dist/index.cjs +1 -1
- package/dist/index.mjs +2 -2
- package/dist/{pptx-CsVDY5Ej.js → pptx-VEtxsakL.js} +1 -1
- package/dist/{pptx-BGtPXrb6.cjs → pptx-f3apnG_M.cjs} +1 -1
- package/dist/pptx.cjs +1 -1
- package/dist/pptx.mjs +1 -1
- package/dist/renderer-DB-DghvA.cjs +1 -0
- package/dist/renderer-rSBto6l5.js +683 -0
- package/dist/types/index.d.ts +165 -1
- package/dist/types/pptx.d.ts +6 -0
- package/dist/types/xlsx.d.ts +158 -0
- package/dist/xlsx-BWBXfR7z.js +2232 -0
- package/dist/xlsx-eilavpD_.cjs +9 -0
- package/dist/xlsx.cjs +1 -1
- package/dist/xlsx.mjs +1 -1
- package/package.json +1 -1
- package/dist/renderer-B8QsMFSc.cjs +0 -1
- package/dist/renderer-BrgdtBit.js +0 -564
- package/dist/xlsx-35w32FNQ.js +0 -2037
- package/dist/xlsx-DYZg9gH8.cjs +0 -9
package/dist/types/index.d.ts
CHANGED
|
@@ -252,6 +252,36 @@ declare interface ChartData {
|
|
|
252
252
|
catAxisFontSizeHpt?: number | null;
|
|
253
253
|
/** Value axis tick-label font size in hpt. */
|
|
254
254
|
valAxisFontSizeHpt?: number | null;
|
|
255
|
+
/** Outer chartSpace background (ECMA-376 §21.2.2.5 `<c:spPr>`). Hex without
|
|
256
|
+
* '#' for a solid fill, undefined for `<a:noFill/>` or an absent spPr.
|
|
257
|
+
* Combine with `hasChartSpPr` to distinguish explicit-transparent from
|
|
258
|
+
* default-opaque-white. */
|
|
259
|
+
chartBg?: string | null;
|
|
260
|
+
/** True when the parser saw a `<c:chartSpace><c:spPr>` element. Lets the
|
|
261
|
+
* adapter tell "spec said noFill → transparent" from "no spPr → default". */
|
|
262
|
+
hasChartSpPr?: boolean;
|
|
263
|
+
/** `<c:legend><c:manualLayout>` fractions of chart space (§21.2.2.31). */
|
|
264
|
+
legendManualLayout?: LegendManualLayout | null;
|
|
265
|
+
/** `<c:catAx><c:delete val="1"/>` — hide the category axis (§21.2.2.40). */
|
|
266
|
+
catAxisHidden?: boolean;
|
|
267
|
+
/** `<c:valAx><c:delete val="1"/>` — hide the value axis (§21.2.2.40). */
|
|
268
|
+
valAxisHidden?: boolean;
|
|
269
|
+
/** `<c:valAx><c:numFmt@formatCode>` — number format for value-axis tick
|
|
270
|
+
* labels (ECMA-376 §21.2.2.21). */
|
|
271
|
+
valAxisFormatCode?: string | null;
|
|
272
|
+
/** `<c:barChart><c:gapWidth>` — space between category groups as a percent
|
|
273
|
+
* of bar width (§21.2.2.13). */
|
|
274
|
+
barGapWidth?: number | null;
|
|
275
|
+
/** `<c:barChart><c:overlap>` — signed percent overlap between bars in a
|
|
276
|
+
* cluster (§21.2.2.25). Negative = gap. */
|
|
277
|
+
barOverlap?: number | null;
|
|
278
|
+
/** `<c:dLbls><c:dLblPos>` — data label position (§21.2.2.16). */
|
|
279
|
+
dataLabelPosition?: string | null;
|
|
280
|
+
/** Hex (no `#`) for data label text color, resolved from `<c:dLbls><c:txPr>`. */
|
|
281
|
+
dataLabelFontColor?: string | null;
|
|
282
|
+
/** `<c:dLbls><c:numFmt@formatCode>` — chart-level override for data label
|
|
283
|
+
* number format (§21.2.2.35). */
|
|
284
|
+
dataLabelFormatCode?: string | null;
|
|
255
285
|
}
|
|
256
286
|
|
|
257
287
|
/**
|
|
@@ -329,6 +359,12 @@ declare interface ChartSeries {
|
|
|
329
359
|
* that don't parse markers (e.g. pptx today) keep their existing behavior.
|
|
330
360
|
*/
|
|
331
361
|
showMarker?: boolean | null;
|
|
362
|
+
/**
|
|
363
|
+
* Excel number-format code for this series' values (ECMA-376 §21.2.2.37,
|
|
364
|
+
* `<c:val>/<c:numRef>/<c:formatCode>`). Used to format data labels when the
|
|
365
|
+
* chart-level `<c:dLbls><c:numFmt>` is not set. null = no series-level code.
|
|
366
|
+
*/
|
|
367
|
+
valFormatCode?: string | null;
|
|
332
368
|
}
|
|
333
369
|
|
|
334
370
|
declare interface ConditionalFormat {
|
|
@@ -476,6 +512,11 @@ declare interface Dxf {
|
|
|
476
512
|
font: Font | null;
|
|
477
513
|
fill: Fill_2 | null;
|
|
478
514
|
border: Border | null;
|
|
515
|
+
/** Number format override from the dxf (ECMA-376 §18.8.17). When a
|
|
516
|
+
* conditional-formatting rule matches, this numFmt replaces the cell's own
|
|
517
|
+
* style numFmt for rendering — e.g. switching a calendar cell from `d` to
|
|
518
|
+
* `m"月"d"日"` on the first day of each month. */
|
|
519
|
+
numFmt?: NumFmt | null;
|
|
479
520
|
}
|
|
480
521
|
|
|
481
522
|
declare interface FieldRun {
|
|
@@ -632,6 +673,15 @@ declare interface ImageRun {
|
|
|
632
673
|
wrapSide?: string;
|
|
633
674
|
}
|
|
634
675
|
|
|
676
|
+
declare interface LegendManualLayout {
|
|
677
|
+
xMode: string;
|
|
678
|
+
yMode: string;
|
|
679
|
+
x: number;
|
|
680
|
+
y: number;
|
|
681
|
+
w: number;
|
|
682
|
+
h: number;
|
|
683
|
+
}
|
|
684
|
+
|
|
635
685
|
declare interface LineBreak {
|
|
636
686
|
type: 'break';
|
|
637
687
|
}
|
|
@@ -778,6 +828,41 @@ declare type PathCmd = {
|
|
|
778
828
|
};
|
|
779
829
|
|
|
780
830
|
declare type PathCmd_2 = {
|
|
831
|
+
op: 'moveTo';
|
|
832
|
+
x: number;
|
|
833
|
+
y: number;
|
|
834
|
+
} | {
|
|
835
|
+
op: 'lineTo';
|
|
836
|
+
x: number;
|
|
837
|
+
y: number;
|
|
838
|
+
} | {
|
|
839
|
+
op: 'cubicBezTo';
|
|
840
|
+
x1: number;
|
|
841
|
+
y1: number;
|
|
842
|
+
x2: number;
|
|
843
|
+
y2: number;
|
|
844
|
+
x3: number;
|
|
845
|
+
y3: number;
|
|
846
|
+
} | {
|
|
847
|
+
op: 'quadBezTo';
|
|
848
|
+
x1: number;
|
|
849
|
+
y1: number;
|
|
850
|
+
x2: number;
|
|
851
|
+
y2: number;
|
|
852
|
+
}
|
|
853
|
+
/** ECMA-376 §20.1.9.3. stAng/swAng in 60000ths of a degree. wr/hr in
|
|
854
|
+
* the path's own coordinate units. Pen position is the arc start. */
|
|
855
|
+
| {
|
|
856
|
+
op: 'arcTo';
|
|
857
|
+
wr: number;
|
|
858
|
+
hr: number;
|
|
859
|
+
stAng: number;
|
|
860
|
+
swAng: number;
|
|
861
|
+
} | {
|
|
862
|
+
op: 'close';
|
|
863
|
+
};
|
|
864
|
+
|
|
865
|
+
declare type PathCmd_3 = {
|
|
781
866
|
cmd: 'moveTo';
|
|
782
867
|
x: number;
|
|
783
868
|
y: number;
|
|
@@ -803,6 +888,12 @@ declare type PathCmd_2 = {
|
|
|
803
888
|
cmd: 'close';
|
|
804
889
|
};
|
|
805
890
|
|
|
891
|
+
declare interface PathInfo {
|
|
892
|
+
w: number;
|
|
893
|
+
h: number;
|
|
894
|
+
commands: PathCmd_2[];
|
|
895
|
+
}
|
|
896
|
+
|
|
806
897
|
declare interface PictureElement {
|
|
807
898
|
type: 'picture';
|
|
808
899
|
x: number;
|
|
@@ -1093,6 +1184,18 @@ declare interface Shadow {
|
|
|
1093
1184
|
dir: number;
|
|
1094
1185
|
}
|
|
1095
1186
|
|
|
1187
|
+
declare interface ShapeAnchor {
|
|
1188
|
+
fromCol: number;
|
|
1189
|
+
fromColOff: number;
|
|
1190
|
+
fromRow: number;
|
|
1191
|
+
fromRowOff: number;
|
|
1192
|
+
toCol: number;
|
|
1193
|
+
toColOff: number;
|
|
1194
|
+
toRow: number;
|
|
1195
|
+
toRowOff: number;
|
|
1196
|
+
shapes: ShapeInfo[];
|
|
1197
|
+
}
|
|
1198
|
+
|
|
1096
1199
|
declare interface ShapeElement {
|
|
1097
1200
|
type: 'shape';
|
|
1098
1201
|
x: number;
|
|
@@ -1142,6 +1245,36 @@ declare type ShapeFill = {
|
|
|
1142
1245
|
gradType: string;
|
|
1143
1246
|
};
|
|
1144
1247
|
|
|
1248
|
+
declare type ShapeGeom = {
|
|
1249
|
+
type: 'preset';
|
|
1250
|
+
name: string;
|
|
1251
|
+
} | {
|
|
1252
|
+
type: 'custom';
|
|
1253
|
+
paths: PathInfo[];
|
|
1254
|
+
}
|
|
1255
|
+
/** Bitmap picture leaf inside a `<xdr:grpSp>`. `dataUrl` is a pre-encoded
|
|
1256
|
+
* `data:<mime>;base64,…` produced by the Rust parser from the drawing's
|
|
1257
|
+
* relationship target. */
|
|
1258
|
+
| {
|
|
1259
|
+
type: 'image';
|
|
1260
|
+
dataUrl: string;
|
|
1261
|
+
};
|
|
1262
|
+
|
|
1263
|
+
declare interface ShapeInfo {
|
|
1264
|
+
/** Normalized [0,1] position/size relative to the anchor rect. */
|
|
1265
|
+
x: number;
|
|
1266
|
+
y: number;
|
|
1267
|
+
w: number;
|
|
1268
|
+
h: number;
|
|
1269
|
+
/** Rotation in degrees, clockwise. */
|
|
1270
|
+
rot: number;
|
|
1271
|
+
fillColor?: string;
|
|
1272
|
+
strokeColor?: string;
|
|
1273
|
+
/** Stroke width in EMU. 0 = no stroke. */
|
|
1274
|
+
strokeWidth: number;
|
|
1275
|
+
geom: ShapeGeom;
|
|
1276
|
+
}
|
|
1277
|
+
|
|
1145
1278
|
declare interface ShapeRun {
|
|
1146
1279
|
widthPt: number;
|
|
1147
1280
|
heightPt: number;
|
|
@@ -1156,7 +1289,7 @@ declare interface ShapeRun {
|
|
|
1156
1289
|
/** Document-order index within a group; lower values render first. */
|
|
1157
1290
|
zOrder: number;
|
|
1158
1291
|
/** Normalized [0,1] custom-geometry sub-paths */
|
|
1159
|
-
subpaths:
|
|
1292
|
+
subpaths: PathCmd_3[][];
|
|
1160
1293
|
fill: ShapeFill | null;
|
|
1161
1294
|
stroke: string | null;
|
|
1162
1295
|
strokeWidth?: number;
|
|
@@ -1175,6 +1308,24 @@ declare interface SheetMeta {
|
|
|
1175
1308
|
rId: string;
|
|
1176
1309
|
}
|
|
1177
1310
|
|
|
1311
|
+
declare interface SlicerAnchor {
|
|
1312
|
+
fromCol: number;
|
|
1313
|
+
fromColOff: number;
|
|
1314
|
+
fromRow: number;
|
|
1315
|
+
fromRowOff: number;
|
|
1316
|
+
toCol: number;
|
|
1317
|
+
toColOff: number;
|
|
1318
|
+
toRow: number;
|
|
1319
|
+
toRowOff: number;
|
|
1320
|
+
caption: string;
|
|
1321
|
+
items: SlicerItem[];
|
|
1322
|
+
}
|
|
1323
|
+
|
|
1324
|
+
declare interface SlicerItem {
|
|
1325
|
+
name: string;
|
|
1326
|
+
selected: boolean;
|
|
1327
|
+
}
|
|
1328
|
+
|
|
1178
1329
|
declare interface Slide {
|
|
1179
1330
|
index: number;
|
|
1180
1331
|
/** 1-based slide number (index + 1); used to render slidenum fields */
|
|
@@ -1390,6 +1541,10 @@ declare interface Worksheet {
|
|
|
1390
1541
|
conditionalFormats: ConditionalFormat[];
|
|
1391
1542
|
images: ImageAnchor[];
|
|
1392
1543
|
charts: ChartAnchor[];
|
|
1544
|
+
/** Grouped shapes from `<xdr:grpSp>` inside twoCellAnchors
|
|
1545
|
+
* (ECMA-376 §20.5.2.17). Each anchor holds leaf shapes pre-flattened
|
|
1546
|
+
* with normalized [0,1] geometry relative to the anchor rect. */
|
|
1547
|
+
shapeGroups?: ShapeAnchor[];
|
|
1393
1548
|
/** Whether to display zero values (ECMA-376 §18.3.1.94). Defaults to true. */
|
|
1394
1549
|
showZeros?: boolean;
|
|
1395
1550
|
/** Whether to draw default grid lines (ECMA-376 §18.3.1.83
|
|
@@ -1412,6 +1567,10 @@ declare interface Worksheet {
|
|
|
1412
1567
|
/** Excel Tables on this sheet (ECMA-376 §18.5). The renderer overlays a
|
|
1413
1568
|
* built-in style (bold header, banded rows) on the given ranges. */
|
|
1414
1569
|
tables?: TableInfo[];
|
|
1570
|
+
/** Pivot / table slicers (Office 2010+ extension). Each anchor carries a
|
|
1571
|
+
* caption and the saved item list (with selection flags) so the renderer
|
|
1572
|
+
* can draw a static button bank without the live pivot engine. */
|
|
1573
|
+
slicers?: SlicerAnchor[];
|
|
1415
1574
|
}
|
|
1416
1575
|
|
|
1417
1576
|
export declare namespace xlsx {
|
|
@@ -1456,6 +1615,11 @@ declare interface XlsxChartSeries {
|
|
|
1456
1615
|
/** Marker visibility resolved from `<c:marker>`/chart-level default
|
|
1457
1616
|
* (ECMA-376 §21.2.2.32). */
|
|
1458
1617
|
showMarker?: boolean;
|
|
1618
|
+
/** `<c:val>/<c:numRef>/<c:formatCode>` — Excel number format for series
|
|
1619
|
+
* values (ECMA-376 §21.2.2.37). */
|
|
1620
|
+
valFormatCode?: string | null;
|
|
1621
|
+
/** `<c:ser><c:order>` — stacking/legend display order (§21.2.2.28). */
|
|
1622
|
+
order?: number;
|
|
1459
1623
|
}
|
|
1460
1624
|
|
|
1461
1625
|
declare class XlsxViewer {
|
package/dist/types/pptx.d.ts
CHANGED
|
@@ -123,6 +123,12 @@ declare interface ChartSeries {
|
|
|
123
123
|
* that don't parse markers (e.g. pptx today) keep their existing behavior.
|
|
124
124
|
*/
|
|
125
125
|
showMarker?: boolean | null;
|
|
126
|
+
/**
|
|
127
|
+
* Excel number-format code for this series' values (ECMA-376 §21.2.2.37,
|
|
128
|
+
* `<c:val>/<c:numRef>/<c:formatCode>`). Used to format data labels when the
|
|
129
|
+
* chart-level `<c:dLbls><c:numFmt>` is not set. null = no series-level code.
|
|
130
|
+
*/
|
|
131
|
+
valFormatCode?: string | null;
|
|
126
132
|
}
|
|
127
133
|
|
|
128
134
|
export declare type Fill = SolidFill | NoFill | GradientFill;
|
package/dist/types/xlsx.d.ts
CHANGED
|
@@ -206,6 +206,36 @@ declare interface ChartData {
|
|
|
206
206
|
catAxisFontSizeHpt?: number | null;
|
|
207
207
|
/** Value axis tick-label font size in hpt. */
|
|
208
208
|
valAxisFontSizeHpt?: number | null;
|
|
209
|
+
/** Outer chartSpace background (ECMA-376 §21.2.2.5 `<c:spPr>`). Hex without
|
|
210
|
+
* '#' for a solid fill, undefined for `<a:noFill/>` or an absent spPr.
|
|
211
|
+
* Combine with `hasChartSpPr` to distinguish explicit-transparent from
|
|
212
|
+
* default-opaque-white. */
|
|
213
|
+
chartBg?: string | null;
|
|
214
|
+
/** True when the parser saw a `<c:chartSpace><c:spPr>` element. Lets the
|
|
215
|
+
* adapter tell "spec said noFill → transparent" from "no spPr → default". */
|
|
216
|
+
hasChartSpPr?: boolean;
|
|
217
|
+
/** `<c:legend><c:manualLayout>` fractions of chart space (§21.2.2.31). */
|
|
218
|
+
legendManualLayout?: LegendManualLayout | null;
|
|
219
|
+
/** `<c:catAx><c:delete val="1"/>` — hide the category axis (§21.2.2.40). */
|
|
220
|
+
catAxisHidden?: boolean;
|
|
221
|
+
/** `<c:valAx><c:delete val="1"/>` — hide the value axis (§21.2.2.40). */
|
|
222
|
+
valAxisHidden?: boolean;
|
|
223
|
+
/** `<c:valAx><c:numFmt@formatCode>` — number format for value-axis tick
|
|
224
|
+
* labels (ECMA-376 §21.2.2.21). */
|
|
225
|
+
valAxisFormatCode?: string | null;
|
|
226
|
+
/** `<c:barChart><c:gapWidth>` — space between category groups as a percent
|
|
227
|
+
* of bar width (§21.2.2.13). */
|
|
228
|
+
barGapWidth?: number | null;
|
|
229
|
+
/** `<c:barChart><c:overlap>` — signed percent overlap between bars in a
|
|
230
|
+
* cluster (§21.2.2.25). Negative = gap. */
|
|
231
|
+
barOverlap?: number | null;
|
|
232
|
+
/** `<c:dLbls><c:dLblPos>` — data label position (§21.2.2.16). */
|
|
233
|
+
dataLabelPosition?: string | null;
|
|
234
|
+
/** Hex (no `#`) for data label text color, resolved from `<c:dLbls><c:txPr>`. */
|
|
235
|
+
dataLabelFontColor?: string | null;
|
|
236
|
+
/** `<c:dLbls><c:numFmt@formatCode>` — chart-level override for data label
|
|
237
|
+
* number format (§21.2.2.35). */
|
|
238
|
+
dataLabelFormatCode?: string | null;
|
|
209
239
|
}
|
|
210
240
|
|
|
211
241
|
declare interface ConditionalFormat {
|
|
@@ -222,6 +252,11 @@ declare interface Dxf {
|
|
|
222
252
|
font: Font | null;
|
|
223
253
|
fill: Fill | null;
|
|
224
254
|
border: Border | null;
|
|
255
|
+
/** Number format override from the dxf (ECMA-376 §18.8.17). When a
|
|
256
|
+
* conditional-formatting rule matches, this numFmt replaces the cell's own
|
|
257
|
+
* style numFmt for rendering — e.g. switching a calendar cell from `d` to
|
|
258
|
+
* `m"月"d"日"` on the first day of each month. */
|
|
259
|
+
numFmt?: NumFmt | null;
|
|
225
260
|
}
|
|
226
261
|
|
|
227
262
|
export declare interface Fill {
|
|
@@ -281,6 +316,15 @@ declare interface ImageAnchor {
|
|
|
281
316
|
dataUrl: string;
|
|
282
317
|
}
|
|
283
318
|
|
|
319
|
+
declare interface LegendManualLayout {
|
|
320
|
+
xMode: string;
|
|
321
|
+
yMode: string;
|
|
322
|
+
x: number;
|
|
323
|
+
y: number;
|
|
324
|
+
w: number;
|
|
325
|
+
h: number;
|
|
326
|
+
}
|
|
327
|
+
|
|
284
328
|
export declare interface MergeCell {
|
|
285
329
|
top: number;
|
|
286
330
|
left: number;
|
|
@@ -299,6 +343,47 @@ export declare interface ParsedWorkbook {
|
|
|
299
343
|
sharedStrings: SharedString[];
|
|
300
344
|
}
|
|
301
345
|
|
|
346
|
+
declare type PathCmd = {
|
|
347
|
+
op: 'moveTo';
|
|
348
|
+
x: number;
|
|
349
|
+
y: number;
|
|
350
|
+
} | {
|
|
351
|
+
op: 'lineTo';
|
|
352
|
+
x: number;
|
|
353
|
+
y: number;
|
|
354
|
+
} | {
|
|
355
|
+
op: 'cubicBezTo';
|
|
356
|
+
x1: number;
|
|
357
|
+
y1: number;
|
|
358
|
+
x2: number;
|
|
359
|
+
y2: number;
|
|
360
|
+
x3: number;
|
|
361
|
+
y3: number;
|
|
362
|
+
} | {
|
|
363
|
+
op: 'quadBezTo';
|
|
364
|
+
x1: number;
|
|
365
|
+
y1: number;
|
|
366
|
+
x2: number;
|
|
367
|
+
y2: number;
|
|
368
|
+
}
|
|
369
|
+
/** ECMA-376 §20.1.9.3. stAng/swAng in 60000ths of a degree. wr/hr in
|
|
370
|
+
* the path's own coordinate units. Pen position is the arc start. */
|
|
371
|
+
| {
|
|
372
|
+
op: 'arcTo';
|
|
373
|
+
wr: number;
|
|
374
|
+
hr: number;
|
|
375
|
+
stAng: number;
|
|
376
|
+
swAng: number;
|
|
377
|
+
} | {
|
|
378
|
+
op: 'close';
|
|
379
|
+
};
|
|
380
|
+
|
|
381
|
+
declare interface PathInfo {
|
|
382
|
+
w: number;
|
|
383
|
+
h: number;
|
|
384
|
+
commands: PathCmd[];
|
|
385
|
+
}
|
|
386
|
+
|
|
302
387
|
export declare interface RenderViewportOptions {
|
|
303
388
|
width?: number;
|
|
304
389
|
height?: number;
|
|
@@ -336,6 +421,48 @@ declare interface RunFont {
|
|
|
336
421
|
name?: string | null;
|
|
337
422
|
}
|
|
338
423
|
|
|
424
|
+
declare interface ShapeAnchor {
|
|
425
|
+
fromCol: number;
|
|
426
|
+
fromColOff: number;
|
|
427
|
+
fromRow: number;
|
|
428
|
+
fromRowOff: number;
|
|
429
|
+
toCol: number;
|
|
430
|
+
toColOff: number;
|
|
431
|
+
toRow: number;
|
|
432
|
+
toRowOff: number;
|
|
433
|
+
shapes: ShapeInfo[];
|
|
434
|
+
}
|
|
435
|
+
|
|
436
|
+
declare type ShapeGeom = {
|
|
437
|
+
type: 'preset';
|
|
438
|
+
name: string;
|
|
439
|
+
} | {
|
|
440
|
+
type: 'custom';
|
|
441
|
+
paths: PathInfo[];
|
|
442
|
+
}
|
|
443
|
+
/** Bitmap picture leaf inside a `<xdr:grpSp>`. `dataUrl` is a pre-encoded
|
|
444
|
+
* `data:<mime>;base64,…` produced by the Rust parser from the drawing's
|
|
445
|
+
* relationship target. */
|
|
446
|
+
| {
|
|
447
|
+
type: 'image';
|
|
448
|
+
dataUrl: string;
|
|
449
|
+
};
|
|
450
|
+
|
|
451
|
+
declare interface ShapeInfo {
|
|
452
|
+
/** Normalized [0,1] position/size relative to the anchor rect. */
|
|
453
|
+
x: number;
|
|
454
|
+
y: number;
|
|
455
|
+
w: number;
|
|
456
|
+
h: number;
|
|
457
|
+
/** Rotation in degrees, clockwise. */
|
|
458
|
+
rot: number;
|
|
459
|
+
fillColor?: string;
|
|
460
|
+
strokeColor?: string;
|
|
461
|
+
/** Stroke width in EMU. 0 = no stroke. */
|
|
462
|
+
strokeWidth: number;
|
|
463
|
+
geom: ShapeGeom;
|
|
464
|
+
}
|
|
465
|
+
|
|
339
466
|
declare interface SharedString {
|
|
340
467
|
text: string;
|
|
341
468
|
runs?: Run[];
|
|
@@ -347,6 +474,24 @@ export declare interface SheetMeta {
|
|
|
347
474
|
rId: string;
|
|
348
475
|
}
|
|
349
476
|
|
|
477
|
+
declare interface SlicerAnchor {
|
|
478
|
+
fromCol: number;
|
|
479
|
+
fromColOff: number;
|
|
480
|
+
fromRow: number;
|
|
481
|
+
fromRowOff: number;
|
|
482
|
+
toCol: number;
|
|
483
|
+
toColOff: number;
|
|
484
|
+
toRow: number;
|
|
485
|
+
toRowOff: number;
|
|
486
|
+
caption: string;
|
|
487
|
+
items: SlicerItem[];
|
|
488
|
+
}
|
|
489
|
+
|
|
490
|
+
declare interface SlicerItem {
|
|
491
|
+
name: string;
|
|
492
|
+
selected: boolean;
|
|
493
|
+
}
|
|
494
|
+
|
|
350
495
|
export declare interface Styles {
|
|
351
496
|
fonts: Font[];
|
|
352
497
|
fills: Fill[];
|
|
@@ -401,6 +546,10 @@ export declare interface Worksheet {
|
|
|
401
546
|
conditionalFormats: ConditionalFormat[];
|
|
402
547
|
images: ImageAnchor[];
|
|
403
548
|
charts: ChartAnchor[];
|
|
549
|
+
/** Grouped shapes from `<xdr:grpSp>` inside twoCellAnchors
|
|
550
|
+
* (ECMA-376 §20.5.2.17). Each anchor holds leaf shapes pre-flattened
|
|
551
|
+
* with normalized [0,1] geometry relative to the anchor rect. */
|
|
552
|
+
shapeGroups?: ShapeAnchor[];
|
|
404
553
|
/** Whether to display zero values (ECMA-376 §18.3.1.94). Defaults to true. */
|
|
405
554
|
showZeros?: boolean;
|
|
406
555
|
/** Whether to draw default grid lines (ECMA-376 §18.3.1.83
|
|
@@ -423,6 +572,10 @@ export declare interface Worksheet {
|
|
|
423
572
|
/** Excel Tables on this sheet (ECMA-376 §18.5). The renderer overlays a
|
|
424
573
|
* built-in style (bold header, banded rows) on the given ranges. */
|
|
425
574
|
tables?: TableInfo[];
|
|
575
|
+
/** Pivot / table slicers (Office 2010+ extension). Each anchor carries a
|
|
576
|
+
* caption and the saved item list (with selection flags) so the renderer
|
|
577
|
+
* can draw a static button bank without the live pivot engine. */
|
|
578
|
+
slicers?: SlicerAnchor[];
|
|
426
579
|
}
|
|
427
580
|
|
|
428
581
|
/**
|
|
@@ -440,6 +593,11 @@ declare interface XlsxChartSeries {
|
|
|
440
593
|
/** Marker visibility resolved from `<c:marker>`/chart-level default
|
|
441
594
|
* (ECMA-376 §21.2.2.32). */
|
|
442
595
|
showMarker?: boolean;
|
|
596
|
+
/** `<c:val>/<c:numRef>/<c:formatCode>` — Excel number format for series
|
|
597
|
+
* values (ECMA-376 §21.2.2.37). */
|
|
598
|
+
valFormatCode?: string | null;
|
|
599
|
+
/** `<c:ser><c:order>` — stacking/legend display order (§21.2.2.28). */
|
|
600
|
+
order?: number;
|
|
443
601
|
}
|
|
444
602
|
|
|
445
603
|
export declare class XlsxViewer {
|