@rowsncolumns/toolkit 24.4.2 → 24.4.4
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/dist/cjs/excel-parser/cfb-decryptor.d.ts +6 -0
- package/dist/cjs/excel-parser/cfb-decryptor.d.ts.map +1 -1
- package/dist/cjs/excel-parser/cfb-decryptor.js +6 -0
- package/dist/cjs/excel-parser/helpers.d.ts +9 -1
- package/dist/cjs/excel-parser/helpers.d.ts.map +1 -1
- package/dist/cjs/excel-parser/helpers.js +37 -0
- package/dist/cjs/excel-parser/interface.d.ts +15 -2
- package/dist/cjs/excel-parser/interface.d.ts.map +1 -1
- package/dist/cjs/excel-parser/plugins/base/index.d.ts +2 -0
- package/dist/cjs/excel-parser/plugins/base/index.d.ts.map +1 -1
- package/dist/cjs/excel-parser/plugins/base/index.js +3 -0
- package/dist/cjs/excel-parser/plugins/ods/index.d.ts +19 -0
- package/dist/cjs/excel-parser/plugins/ods/index.d.ts.map +1 -1
- package/dist/cjs/excel-parser/plugins/ods/index.js +676 -304
- package/dist/cjs/excel-parser/plugins/ods/styles.d.ts +43 -1
- package/dist/cjs/excel-parser/plugins/ods/styles.d.ts.map +1 -1
- package/dist/cjs/excel-parser/plugins/ods/styles.js +343 -45
- package/dist/cjs/excel-parser/plugins/xls/index.d.ts +55 -1
- package/dist/cjs/excel-parser/plugins/xls/index.d.ts.map +1 -1
- package/dist/cjs/excel-parser/plugins/xls/index.js +518 -6
- package/dist/cjs/excel-parser/plugins/xlsb/index.d.ts +4 -0
- package/dist/cjs/excel-parser/plugins/xlsb/index.d.ts.map +1 -1
- package/dist/cjs/excel-parser/plugins/xlsb/index.js +33 -14
- package/dist/cjs/excel-parser/plugins/xlsx/chartex.d.ts +37 -0
- package/dist/cjs/excel-parser/plugins/xlsx/chartex.d.ts.map +1 -0
- package/dist/cjs/excel-parser/plugins/xlsx/chartex.js +244 -0
- package/dist/cjs/excel-parser/plugins/xlsx/charts.d.ts +10 -0
- package/dist/cjs/excel-parser/plugins/xlsx/charts.d.ts.map +1 -1
- package/dist/cjs/excel-parser/plugins/xlsx/charts.js +68 -9
- package/dist/cjs/excel-parser/plugins/xlsx/drawing.d.ts +28 -1
- package/dist/cjs/excel-parser/plugins/xlsx/drawing.d.ts.map +1 -1
- package/dist/cjs/excel-parser/plugins/xlsx/drawing.js +155 -20
- package/dist/cjs/excel-parser/plugins/xlsx/form-controls.d.ts +70 -0
- package/dist/cjs/excel-parser/plugins/xlsx/form-controls.d.ts.map +1 -0
- package/dist/cjs/excel-parser/plugins/xlsx/form-controls.js +295 -0
- package/dist/cjs/excel-parser/plugins/xlsx/index.d.ts +35 -2
- package/dist/cjs/excel-parser/plugins/xlsx/index.d.ts.map +1 -1
- package/dist/cjs/excel-parser/plugins/xlsx/index.js +737 -257
- package/dist/cjs/excel-parser/plugins/xlsx/pivots.d.ts.map +1 -1
- package/dist/cjs/excel-parser/plugins/xlsx/pivots.js +125 -37
- package/dist/cjs/excel-parser/plugins/xlsx/sheet-views.d.ts +3 -0
- package/dist/cjs/excel-parser/plugins/xlsx/sheet-views.d.ts.map +1 -1
- package/dist/cjs/excel-parser/plugins/xlsx/sheet-views.js +4 -1
- package/dist/cjs/excel-parser/plugins/xlsx/styles.d.ts +15 -1
- package/dist/cjs/excel-parser/plugins/xlsx/styles.d.ts.map +1 -1
- package/dist/cjs/excel-parser/plugins/xlsx/styles.js +102 -6
- package/dist/cjs/excel-parser/registry.d.ts +7 -0
- package/dist/cjs/excel-parser/registry.d.ts.map +1 -1
- package/dist/cjs/excel-parser/registry.js +29 -0
- package/dist/cjs/excel-parser/types.d.ts +17 -2
- package/dist/cjs/excel-parser/types.d.ts.map +1 -1
- package/dist/cjs/excel-parser/workbook.d.ts +3 -0
- package/dist/cjs/excel-parser/workbook.d.ts.map +1 -1
- package/dist/cjs/excel-parser/workbook.js +24 -14
- package/dist/cjs/excel-parser/worker.js +131 -131
- package/dist/cjs/exporter/ods/ods-export.d.ts.map +1 -1
- package/dist/cjs/exporter/ods/ods-export.js +432 -175
- package/dist/cjs/exporter/xlsx/chart-builder.d.ts.map +1 -1
- package/dist/cjs/exporter/xlsx/chart-builder.js +215 -39
- package/dist/cjs/exporter/xlsx/chartex-builder.d.ts +36 -0
- package/dist/cjs/exporter/xlsx/chartex-builder.d.ts.map +1 -0
- package/dist/cjs/exporter/xlsx/chartex-builder.js +109 -0
- package/dist/cjs/exporter/xlsx/form-controls-builder.d.ts +61 -0
- package/dist/cjs/exporter/xlsx/form-controls-builder.d.ts.map +1 -0
- package/dist/cjs/exporter/xlsx/form-controls-builder.js +197 -0
- package/dist/cjs/exporter/xlsx/pivot-builder.d.ts +8 -0
- package/dist/cjs/exporter/xlsx/pivot-builder.d.ts.map +1 -1
- package/dist/cjs/exporter/xlsx/pivot-builder.js +141 -42
- package/dist/cjs/exporter/xlsx/style-builder.js +9 -3
- package/dist/cjs/exporter/xlsx/threaded-comments-builder.d.ts +7 -1
- package/dist/cjs/exporter/xlsx/threaded-comments-builder.d.ts.map +1 -1
- package/dist/cjs/exporter/xlsx/threaded-comments-builder.js +15 -3
- package/dist/cjs/exporter/xlsx/xlsx-export.d.ts +11 -2
- package/dist/cjs/exporter/xlsx/xlsx-export.d.ts.map +1 -1
- package/dist/cjs/exporter/xlsx/xlsx-export.js +991 -297
- package/dist/cjs/helpers/implicit-intersection.d.ts +16 -0
- package/dist/cjs/helpers/implicit-intersection.d.ts.map +1 -0
- package/dist/cjs/helpers/implicit-intersection.js +197 -0
- package/dist/cjs/print-settings.d.ts +105 -0
- package/dist/cjs/print-settings.d.ts.map +1 -0
- package/dist/cjs/print-settings.js +494 -0
- package/dist/cjs/tsconfig.cjs.tsbuildinfo +1 -1
- package/dist/esm/excel-parser/cfb-decryptor.d.ts +6 -0
- package/dist/esm/excel-parser/cfb-decryptor.d.ts.map +1 -1
- package/dist/esm/excel-parser/cfb-decryptor.js +6 -0
- package/dist/esm/excel-parser/helpers.d.ts +9 -1
- package/dist/esm/excel-parser/helpers.d.ts.map +1 -1
- package/dist/esm/excel-parser/helpers.js +34 -0
- package/dist/esm/excel-parser/interface.d.ts +15 -2
- package/dist/esm/excel-parser/interface.d.ts.map +1 -1
- package/dist/esm/excel-parser/plugins/base/index.d.ts +2 -0
- package/dist/esm/excel-parser/plugins/base/index.d.ts.map +1 -1
- package/dist/esm/excel-parser/plugins/base/index.js +3 -0
- package/dist/esm/excel-parser/plugins/ods/index.d.ts +19 -0
- package/dist/esm/excel-parser/plugins/ods/index.d.ts.map +1 -1
- package/dist/esm/excel-parser/plugins/ods/index.js +347 -33
- package/dist/esm/excel-parser/plugins/ods/styles.d.ts +43 -1
- package/dist/esm/excel-parser/plugins/ods/styles.d.ts.map +1 -1
- package/dist/esm/excel-parser/plugins/ods/styles.js +276 -2
- package/dist/esm/excel-parser/plugins/xls/index.d.ts +55 -1
- package/dist/esm/excel-parser/plugins/xls/index.d.ts.map +1 -1
- package/dist/esm/excel-parser/plugins/xls/index.js +441 -3
- package/dist/esm/excel-parser/plugins/xlsb/index.d.ts +4 -0
- package/dist/esm/excel-parser/plugins/xlsb/index.d.ts.map +1 -1
- package/dist/esm/excel-parser/plugins/xlsb/index.js +30 -9
- package/dist/esm/excel-parser/plugins/xlsx/chartex.d.ts +37 -0
- package/dist/esm/excel-parser/plugins/xlsx/chartex.d.ts.map +1 -0
- package/dist/esm/excel-parser/plugins/xlsx/chartex.js +199 -0
- package/dist/esm/excel-parser/plugins/xlsx/charts.d.ts +10 -0
- package/dist/esm/excel-parser/plugins/xlsx/charts.d.ts.map +1 -1
- package/dist/esm/excel-parser/plugins/xlsx/charts.js +69 -6
- package/dist/esm/excel-parser/plugins/xlsx/drawing.d.ts +28 -1
- package/dist/esm/excel-parser/plugins/xlsx/drawing.d.ts.map +1 -1
- package/dist/esm/excel-parser/plugins/xlsx/drawing.js +99 -0
- package/dist/esm/excel-parser/plugins/xlsx/form-controls.d.ts +70 -0
- package/dist/esm/excel-parser/plugins/xlsx/form-controls.d.ts.map +1 -0
- package/dist/esm/excel-parser/plugins/xlsx/form-controls.js +246 -0
- package/dist/esm/excel-parser/plugins/xlsx/index.d.ts +35 -2
- package/dist/esm/excel-parser/plugins/xlsx/index.d.ts.map +1 -1
- package/dist/esm/excel-parser/plugins/xlsx/index.js +454 -32
- package/dist/esm/excel-parser/plugins/xlsx/pivots.d.ts.map +1 -1
- package/dist/esm/excel-parser/plugins/xlsx/pivots.js +86 -6
- package/dist/esm/excel-parser/plugins/xlsx/sheet-views.d.ts +3 -0
- package/dist/esm/excel-parser/plugins/xlsx/sheet-views.d.ts.map +1 -1
- package/dist/esm/excel-parser/plugins/xlsx/sheet-views.js +2 -0
- package/dist/esm/excel-parser/plugins/xlsx/styles.d.ts +15 -1
- package/dist/esm/excel-parser/plugins/xlsx/styles.d.ts.map +1 -1
- package/dist/esm/excel-parser/plugins/xlsx/styles.js +92 -2
- package/dist/esm/excel-parser/registry.d.ts +7 -0
- package/dist/esm/excel-parser/registry.d.ts.map +1 -1
- package/dist/esm/excel-parser/registry.js +19 -0
- package/dist/esm/excel-parser/types.d.ts +17 -2
- package/dist/esm/excel-parser/types.d.ts.map +1 -1
- package/dist/esm/excel-parser/workbook.d.ts +3 -0
- package/dist/esm/excel-parser/workbook.d.ts.map +1 -1
- package/dist/esm/excel-parser/workbook.js +19 -10
- package/dist/esm/excel-parser/worker.js +12 -18
- package/dist/esm/exporter/ods/ods-export.d.ts.map +1 -1
- package/dist/esm/exporter/ods/ods-export.js +306 -35
- package/dist/esm/exporter/xlsx/chart-builder.d.ts.map +1 -1
- package/dist/esm/exporter/xlsx/chart-builder.js +161 -28
- package/dist/esm/exporter/xlsx/chartex-builder.d.ts +36 -0
- package/dist/esm/exporter/xlsx/chartex-builder.d.ts.map +1 -0
- package/dist/esm/exporter/xlsx/chartex-builder.js +97 -0
- package/dist/esm/exporter/xlsx/form-controls-builder.d.ts +61 -0
- package/dist/esm/exporter/xlsx/form-controls-builder.d.ts.map +1 -0
- package/dist/esm/exporter/xlsx/form-controls-builder.js +173 -0
- package/dist/esm/exporter/xlsx/pivot-builder.d.ts +8 -0
- package/dist/esm/exporter/xlsx/pivot-builder.d.ts.map +1 -1
- package/dist/esm/exporter/xlsx/pivot-builder.js +104 -19
- package/dist/esm/exporter/xlsx/style-builder.js +9 -3
- package/dist/esm/exporter/xlsx/threaded-comments-builder.d.ts +7 -1
- package/dist/esm/exporter/xlsx/threaded-comments-builder.d.ts.map +1 -1
- package/dist/esm/exporter/xlsx/threaded-comments-builder.js +15 -3
- package/dist/esm/exporter/xlsx/xlsx-export.d.ts +11 -2
- package/dist/esm/exporter/xlsx/xlsx-export.d.ts.map +1 -1
- package/dist/esm/exporter/xlsx/xlsx-export.js +675 -64
- package/dist/esm/helpers/implicit-intersection.d.ts +16 -0
- package/dist/esm/helpers/implicit-intersection.d.ts.map +1 -0
- package/dist/esm/helpers/implicit-intersection.js +184 -0
- package/dist/esm/print-settings.d.ts +105 -0
- package/dist/esm/print-settings.d.ts.map +1 -0
- package/dist/esm/print-settings.js +422 -0
- package/dist/esm/tsconfig.esm.tsbuildinfo +1 -1
- package/package.json +3 -3
- package/xlsx.d.ts +14 -0
|
@@ -3,9 +3,10 @@ import { addressToCell, addressToSelection, alpha2number, checkIfStringIsReferen
|
|
|
3
3
|
import { XMLParser } from "fast-xml-parser";
|
|
4
4
|
import { get } from "lodash-es";
|
|
5
5
|
import { Parser as HtmlParser } from "htmlparser2";
|
|
6
|
-
import { createFilterSpecsFromAutoFilter, excelColumnWidthToPixels, findMax, getRangeFromAddressRef, } from "../../helpers";
|
|
6
|
+
import { createFilterSpecsFromAutoFilter, excelColumnWidthToPixels, findMax, getRangeFromAddressRef, parseTableColumnTotals, } from "../../helpers";
|
|
7
7
|
import { defaultSpreadsheetTheme } from "../../theme-default";
|
|
8
8
|
import { Unescape } from "../../utils";
|
|
9
|
+
import { compactPrintSettings, isBuiltinPrintName, isDefaultPageMargins, parsePrintAreaFormula, parsePrintTitlesFormula, PRINT_AREA_NAME, } from "../../../print-settings";
|
|
9
10
|
import { StreamingZipParser } from "../../zip-parser-streaming";
|
|
10
11
|
import { SheetDataValidationStamper } from "../../dv-cell-stamp";
|
|
11
12
|
import { BaseWorkbookPlugin } from "../base/index";
|
|
@@ -13,12 +14,14 @@ import { processChart } from "./charts";
|
|
|
13
14
|
import { customFiltersToCondition, dynamicFilterToCondition, } from "../../../autofilter-condition";
|
|
14
15
|
import { getConditionalFormattingFromSheet } from "./conditional-formatting";
|
|
15
16
|
import { getDataValidationsForSheet as parseDataValidationsFromSheetData } from "./data-validations";
|
|
16
|
-
import { processAnchors } from "./drawing";
|
|
17
|
+
import { anchorsInDocumentOrder, processAnchors, } from "./drawing";
|
|
17
18
|
import { getRelationsById } from "./relationships";
|
|
18
19
|
import { hasPowerQueryParts, } from "../../../power-query";
|
|
19
20
|
import { extractSheetViewProperties } from "./sheet-views";
|
|
20
21
|
import { EMPTY_SHEET_THREADED_COMMENTS, parsePersons, parseThreadedComments, } from "./threaded-comments";
|
|
21
|
-
import {
|
|
22
|
+
import { getChartExReferenceFromAnchor, processChartEx } from "./chartex";
|
|
23
|
+
import { buildFormControlEmbeds, parseFormControlPr, parseVmlControlCaptions, readLegacyDrawingRelId, readWorksheetControls, } from "./form-controls";
|
|
24
|
+
import { extractColor, fontNodeToTextFormat, getCellDataForStyleIndex, getCellValueAndFormat, resolveNamedCellStyles, } from "./styles";
|
|
22
25
|
import { extractThemeColors, extractThemeFonts, generateDarkThemeColors, } from "./theme";
|
|
23
26
|
export var XMLTagProcessor = function (name, value) {
|
|
24
27
|
return Unescape(value);
|
|
@@ -789,6 +792,18 @@ var XlsxPlugin = /** @class */ (function (_super) {
|
|
|
789
792
|
* `getDataValidations()` aggregates these per-sheet caches, keeping ids
|
|
790
793
|
* stable across per-sheet and workbook-wide callers.
|
|
791
794
|
*/
|
|
795
|
+
/**
|
|
796
|
+
* `<protectedRanges>` per sheet, populated while `getSheets` builds each
|
|
797
|
+
* `Sheet` (the element sits after `<sheetData>` in the worksheet part, so it
|
|
798
|
+
* rides the same geometry pass). Read back via `getProtectedRanges`.
|
|
799
|
+
*/
|
|
800
|
+
_this.protectedRangesBySheet = new Map();
|
|
801
|
+
/**
|
|
802
|
+
* The builtin `_xlnm.Print_Area` / `_xlnm.Print_Titles` defined names,
|
|
803
|
+
* hoisted out of `namedRanges` (they are sheet-scoped facets, not user
|
|
804
|
+
* names) and merged into each sheet's `printSettings` by `getSheets()`.
|
|
805
|
+
*/
|
|
806
|
+
_this.printNamesBySheetId = new Map();
|
|
792
807
|
_this.dataValidationsBySheetCache = new Map();
|
|
793
808
|
/** Per-sheet memo for conditional formatting, mirroring the DV cache. */
|
|
794
809
|
_this.conditionalFormattingBySheetCache = new Map();
|
|
@@ -835,7 +850,7 @@ var XlsxPlugin = /** @class */ (function (_super) {
|
|
|
835
850
|
};
|
|
836
851
|
XlsxPlugin.prototype.parseSheetMetadata = function (rid) {
|
|
837
852
|
return __awaiter(this, void 0, void 0, function () {
|
|
838
|
-
var path, merges, rowEntries, outlineSummaryBelow, outlineSummaryRight, columnMetadata, colStyleRanges, maxRowIndex, maxColumnIndex, dimensionRange, sheetHasFilterMode, zeroHeight, defaultRowHeightPx, defaultColumnWidthPx, sheetViewAttrs, paneAttrs, tabColor, autoFilterRef, filterColumns, getOrCreateFilterColumn, currentFilterColumn, tablePartIds, lastScannedRowIndex, scanSeqColIndex, normalizeTag, parser, filterSpecs, sheetViewData, autoFilterRange;
|
|
853
|
+
var path, merges, rowEntries, outlineSummaryBelow, outlineSummaryRight, columnMetadata, colStyleRanges, maxRowIndex, maxColumnIndex, dimensionRange, sheetHasFilterMode, zeroHeight, defaultRowHeightPx, defaultColumnWidthPx, sheetViewAttrs, paneAttrs, tabColor, autoFilterRef, sheetProtection, protectedRangeEntries, pageSetup, pageMargins, printOptions, fitToPage, headerFooter, headerFooterTextTarget, rowBreaks, columnBreaks, breakAxis, filterColumns, getOrCreateFilterColumn, currentFilterColumn, tablePartIds, lastScannedRowIndex, scanSeqColIndex, inCustomSheetViews, normalizeTag, parser, filterSpecs, sheetViewData, autoFilterRange;
|
|
839
854
|
var _this = this;
|
|
840
855
|
return __generator(this, function (_a) {
|
|
841
856
|
switch (_a.label) {
|
|
@@ -849,6 +864,10 @@ var XlsxPlugin = /** @class */ (function (_super) {
|
|
|
849
864
|
maxColumnIndex = 0;
|
|
850
865
|
sheetHasFilterMode = false;
|
|
851
866
|
zeroHeight = false;
|
|
867
|
+
protectedRangeEntries = [];
|
|
868
|
+
fitToPage = false;
|
|
869
|
+
rowBreaks = [];
|
|
870
|
+
columnBreaks = [];
|
|
852
871
|
filterColumns = new Map();
|
|
853
872
|
getOrCreateFilterColumn = function (colId) {
|
|
854
873
|
var entry = filterColumns.get(colId);
|
|
@@ -862,13 +881,20 @@ var XlsxPlugin = /** @class */ (function (_super) {
|
|
|
862
881
|
tablePartIds = [];
|
|
863
882
|
lastScannedRowIndex = 0;
|
|
864
883
|
scanSeqColIndex = 1;
|
|
884
|
+
inCustomSheetViews = false;
|
|
865
885
|
normalizeTag = function (name) {
|
|
866
886
|
return name.includes(":") ? name.split(":")[1] : name;
|
|
867
887
|
};
|
|
868
888
|
parser = new HtmlParser({
|
|
869
889
|
onopentag: function (tagName, attrs) {
|
|
870
|
-
var _a, _b, _c, _d, _e, _f, _g;
|
|
890
|
+
var _a, _b, _c, _d, _e, _f, _g, _h;
|
|
871
891
|
var name = normalizeTag(tagName);
|
|
892
|
+
if (name === "customSheetViews") {
|
|
893
|
+
inCustomSheetViews = true;
|
|
894
|
+
return;
|
|
895
|
+
}
|
|
896
|
+
if (inCustomSheetViews)
|
|
897
|
+
return;
|
|
872
898
|
if (name === "dimension") {
|
|
873
899
|
var ref = attrs === null || attrs === void 0 ? void 0 : attrs.ref;
|
|
874
900
|
if (typeof ref === "string") {
|
|
@@ -914,6 +940,50 @@ var XlsxPlugin = /** @class */ (function (_super) {
|
|
|
914
940
|
if (name === "tabColor") {
|
|
915
941
|
tabColor = { a$: __assign({}, attrs) };
|
|
916
942
|
}
|
|
943
|
+
if (name === "sheetProtection") {
|
|
944
|
+
sheetProtection = readSheetProtectionAttrs(attrs);
|
|
945
|
+
}
|
|
946
|
+
if (name === "protectedRange") {
|
|
947
|
+
var sqref = attrs.sqref;
|
|
948
|
+
if (typeof sqref === "string" && sqref) {
|
|
949
|
+
protectedRangeEntries.push({
|
|
950
|
+
sqref: sqref,
|
|
951
|
+
name: attrs.name,
|
|
952
|
+
securityDescriptor: attrs.securityDescriptor,
|
|
953
|
+
});
|
|
954
|
+
}
|
|
955
|
+
}
|
|
956
|
+
if (name === "pageSetUpPr") {
|
|
957
|
+
fitToPage = isXmlTrue(attrs === null || attrs === void 0 ? void 0 : attrs.fitToPage);
|
|
958
|
+
}
|
|
959
|
+
if (name === "pageSetup") {
|
|
960
|
+
pageSetup = readPageSetupAttrs(attrs);
|
|
961
|
+
}
|
|
962
|
+
if (name === "pageMargins") {
|
|
963
|
+
pageMargins = readPageMarginsAttrs(attrs);
|
|
964
|
+
}
|
|
965
|
+
if (name === "printOptions") {
|
|
966
|
+
printOptions = readPrintOptionsAttrs(attrs);
|
|
967
|
+
}
|
|
968
|
+
if (name === "headerFooter") {
|
|
969
|
+
headerFooter = readHeaderFooterAttrs(attrs);
|
|
970
|
+
}
|
|
971
|
+
if (isHeaderFooterTextKey(name)) {
|
|
972
|
+
headerFooterTextTarget = name;
|
|
973
|
+
headerFooter !== null && headerFooter !== void 0 ? headerFooter : (headerFooter = {});
|
|
974
|
+
}
|
|
975
|
+
if (name === "rowBreaks")
|
|
976
|
+
breakAxis = "row";
|
|
977
|
+
if (name === "colBreaks")
|
|
978
|
+
breakAxis = "column";
|
|
979
|
+
if (name === "brk" && breakAxis) {
|
|
980
|
+
// Only manual breaks are user state; Excel drops automatic ones
|
|
981
|
+
// (`man` absent) on save as well.
|
|
982
|
+
var id = parseInt((_a = attrs === null || attrs === void 0 ? void 0 : attrs.id) !== null && _a !== void 0 ? _a : "", 10);
|
|
983
|
+
if (Number.isFinite(id) && id > 0 && isXmlTrue(attrs === null || attrs === void 0 ? void 0 : attrs.man)) {
|
|
984
|
+
(breakAxis === "row" ? rowBreaks : columnBreaks).push(id);
|
|
985
|
+
}
|
|
986
|
+
}
|
|
917
987
|
if (name === "sheetView" && !sheetViewAttrs) {
|
|
918
988
|
sheetViewAttrs = __assign({}, attrs);
|
|
919
989
|
}
|
|
@@ -924,8 +994,8 @@ var XlsxPlugin = /** @class */ (function (_super) {
|
|
|
924
994
|
return;
|
|
925
995
|
}
|
|
926
996
|
if (name === "col") {
|
|
927
|
-
var min = parseInt((
|
|
928
|
-
var max = parseInt((
|
|
997
|
+
var min = parseInt((_b = attrs.min) !== null && _b !== void 0 ? _b : "0", 10);
|
|
998
|
+
var max = parseInt((_c = attrs.max) !== null && _c !== void 0 ? _c : "0", 10);
|
|
929
999
|
// Column default style: cells in these columns without an
|
|
930
1000
|
// explicit `s` (including cells never written to the XML)
|
|
931
1001
|
// inherit this xf. Collected separately from DimensionProperties
|
|
@@ -984,7 +1054,7 @@ var XlsxPlugin = /** @class */ (function (_super) {
|
|
|
984
1054
|
}
|
|
985
1055
|
}
|
|
986
1056
|
if (name === "row") {
|
|
987
|
-
var parsedRowIndex = parseInt((
|
|
1057
|
+
var parsedRowIndex = parseInt((_d = attrs.r) !== null && _d !== void 0 ? _d : "0", 10);
|
|
988
1058
|
var rowIndex = parsedRowIndex > 0 ? parsedRowIndex : lastScannedRowIndex + 1;
|
|
989
1059
|
lastScannedRowIndex = rowIndex;
|
|
990
1060
|
scanSeqColIndex = 1;
|
|
@@ -1024,7 +1094,7 @@ var XlsxPlugin = /** @class */ (function (_super) {
|
|
|
1024
1094
|
if (name === "mergeCell") {
|
|
1025
1095
|
var ref = attrs.ref;
|
|
1026
1096
|
if (typeof ref === "string") {
|
|
1027
|
-
var range = (
|
|
1097
|
+
var range = (_e = addressToSelection(ref)) === null || _e === void 0 ? void 0 : _e.range;
|
|
1028
1098
|
if (range)
|
|
1029
1099
|
merges.push(range);
|
|
1030
1100
|
}
|
|
@@ -1036,7 +1106,7 @@ var XlsxPlugin = /** @class */ (function (_super) {
|
|
|
1036
1106
|
}
|
|
1037
1107
|
}
|
|
1038
1108
|
if (name === "filterColumn") {
|
|
1039
|
-
var colId = parseInt((
|
|
1109
|
+
var colId = parseInt((_f = attrs.colId) !== null && _f !== void 0 ? _f : "0", 10);
|
|
1040
1110
|
currentFilterColumn = Number.isNaN(colId) ? null : colId;
|
|
1041
1111
|
}
|
|
1042
1112
|
if (name === "filter" && currentFilterColumn !== null) {
|
|
@@ -1076,13 +1146,13 @@ var XlsxPlugin = /** @class */ (function (_super) {
|
|
|
1076
1146
|
// operator= val=>. Records the AND flag, then each child below.
|
|
1077
1147
|
if (name === "customFilters" && currentFilterColumn !== null) {
|
|
1078
1148
|
var entry = getOrCreateFilterColumn(currentFilterColumn);
|
|
1079
|
-
entry.customFilters = (
|
|
1149
|
+
entry.customFilters = (_g = entry.customFilters) !== null && _g !== void 0 ? _g : [];
|
|
1080
1150
|
entry.customFiltersAnd =
|
|
1081
1151
|
attrs.and === "1" || attrs.and === "true";
|
|
1082
1152
|
}
|
|
1083
1153
|
if (name === "customFilter" && currentFilterColumn !== null) {
|
|
1084
1154
|
var entry = getOrCreateFilterColumn(currentFilterColumn);
|
|
1085
|
-
entry.customFilters = (
|
|
1155
|
+
entry.customFilters = (_h = entry.customFilters) !== null && _h !== void 0 ? _h : [];
|
|
1086
1156
|
entry.customFilters.push({
|
|
1087
1157
|
operator: attrs.operator,
|
|
1088
1158
|
val: attrs.val,
|
|
@@ -1102,11 +1172,30 @@ var XlsxPlugin = /** @class */ (function (_super) {
|
|
|
1102
1172
|
}
|
|
1103
1173
|
}
|
|
1104
1174
|
},
|
|
1175
|
+
ontext: function (text) {
|
|
1176
|
+
var _a;
|
|
1177
|
+
if (headerFooterTextTarget && headerFooter) {
|
|
1178
|
+
headerFooter[headerFooterTextTarget] =
|
|
1179
|
+
"".concat((_a = headerFooter[headerFooterTextTarget]) !== null && _a !== void 0 ? _a : "").concat(text);
|
|
1180
|
+
}
|
|
1181
|
+
},
|
|
1105
1182
|
onclosetag: function (tagName) {
|
|
1106
1183
|
var name = normalizeTag(tagName);
|
|
1184
|
+
if (name === "customSheetViews") {
|
|
1185
|
+
inCustomSheetViews = false;
|
|
1186
|
+
return;
|
|
1187
|
+
}
|
|
1188
|
+
if (inCustomSheetViews)
|
|
1189
|
+
return;
|
|
1107
1190
|
if (name === "filterColumn") {
|
|
1108
1191
|
currentFilterColumn = null;
|
|
1109
1192
|
}
|
|
1193
|
+
if (isHeaderFooterTextKey(name)) {
|
|
1194
|
+
headerFooterTextTarget = undefined;
|
|
1195
|
+
}
|
|
1196
|
+
if (name === "rowBreaks" || name === "colBreaks") {
|
|
1197
|
+
breakAxis = undefined;
|
|
1198
|
+
}
|
|
1110
1199
|
},
|
|
1111
1200
|
onerror: function (err) {
|
|
1112
1201
|
console.error("Streaming sheet metadata parse error", err);
|
|
@@ -1183,6 +1272,18 @@ var XlsxPlugin = /** @class */ (function (_super) {
|
|
|
1183
1272
|
tablePartIds: tablePartIds,
|
|
1184
1273
|
outlineSummaryBelow: outlineSummaryBelow,
|
|
1185
1274
|
outlineSummaryRight: outlineSummaryRight,
|
|
1275
|
+
sheetProtection: sheetProtection,
|
|
1276
|
+
protectedRangeEntries: protectedRangeEntries,
|
|
1277
|
+
printSettings: compactPrintSettings({
|
|
1278
|
+
pageSetup: fitToPage ? __assign(__assign({}, pageSetup), { fitToPage: true }) : pageSetup,
|
|
1279
|
+
// Every Excel worksheet carries `<pageMargins>`; only non-default
|
|
1280
|
+
// margins are user state worth modelling.
|
|
1281
|
+
pageMargins: isDefaultPageMargins(pageMargins) ? undefined : pageMargins,
|
|
1282
|
+
printOptions: printOptions,
|
|
1283
|
+
headerFooter: headerFooter,
|
|
1284
|
+
rowBreaks: rowBreaks,
|
|
1285
|
+
columnBreaks: columnBreaks,
|
|
1286
|
+
}),
|
|
1186
1287
|
}];
|
|
1187
1288
|
}
|
|
1188
1289
|
});
|
|
@@ -1414,6 +1515,7 @@ var XlsxPlugin = /** @class */ (function (_super) {
|
|
|
1414
1515
|
conditionalFormatting: false,
|
|
1415
1516
|
dataValidations: false,
|
|
1416
1517
|
drawing: false,
|
|
1518
|
+
controls: false,
|
|
1417
1519
|
};
|
|
1418
1520
|
sheetPath = this.resolveSheetPath(relation.target);
|
|
1419
1521
|
sheetRelPath = sheetPath.replace("worksheets", "worksheets/_rels") + ".rels";
|
|
@@ -1476,6 +1578,9 @@ var XlsxPlugin = /** @class */ (function (_super) {
|
|
|
1476
1578
|
case "drawing":
|
|
1477
1579
|
features.drawing = true;
|
|
1478
1580
|
break;
|
|
1581
|
+
case "controls":
|
|
1582
|
+
features.controls = true;
|
|
1583
|
+
break;
|
|
1479
1584
|
}
|
|
1480
1585
|
if (name !== "hyperlink") {
|
|
1481
1586
|
return;
|
|
@@ -2004,6 +2109,7 @@ var XlsxPlugin = /** @class */ (function (_super) {
|
|
|
2004
2109
|
this.sheetMetadataCache.clear();
|
|
2005
2110
|
this.dataValidationsBySheetCache.clear();
|
|
2006
2111
|
this.conditionalFormattingBySheetCache.clear();
|
|
2112
|
+
this.protectedRangesBySheet.clear();
|
|
2007
2113
|
return [4 /*yield*/, this.loadWorkbookXml()];
|
|
2008
2114
|
case 2:
|
|
2009
2115
|
_e.sent();
|
|
@@ -2041,6 +2147,7 @@ var XlsxPlugin = /** @class */ (function (_super) {
|
|
|
2041
2147
|
this.sheetMetadataCache.clear();
|
|
2042
2148
|
this.dataValidationsBySheetCache.clear();
|
|
2043
2149
|
this.conditionalFormattingBySheetCache.clear();
|
|
2150
|
+
this.protectedRangesBySheet.clear();
|
|
2044
2151
|
this.worksheetBySheetId.clear();
|
|
2045
2152
|
};
|
|
2046
2153
|
XlsxPlugin.prototype.clearSharedFormula = function () {
|
|
@@ -2136,7 +2243,7 @@ var XlsxPlugin = /** @class */ (function (_super) {
|
|
|
2136
2243
|
: [];
|
|
2137
2244
|
columns = columnDefsArray.map(function (colDef) {
|
|
2138
2245
|
var name = colDef.a$.name || "";
|
|
2139
|
-
var columnObj = { name: name };
|
|
2246
|
+
var columnObj = __assign({ name: name }, parseTableColumnTotals(colDef));
|
|
2140
2247
|
// Check for calculated column
|
|
2141
2248
|
// Handle both with and without namespace prefix
|
|
2142
2249
|
var calculatedColumnFormula = get(colDef, "calculatedColumnFormula") ||
|
|
@@ -3232,14 +3339,29 @@ var XlsxPlugin = /** @class */ (function (_super) {
|
|
|
3232
3339
|
? twoCellAnchors
|
|
3233
3340
|
: [twoCellAnchors])), false).filter(Boolean);
|
|
3234
3341
|
_loop_5 = function (anchor) {
|
|
3235
|
-
var chartRef, chartRId, chartRel, chart;
|
|
3342
|
+
var chartRef, chartExRef, chartExRId_1, chartExRel, chartEx, chartRId, chartRel, chart;
|
|
3236
3343
|
return __generator(this, function (_k) {
|
|
3237
3344
|
switch (_k.label) {
|
|
3238
3345
|
case 0:
|
|
3239
3346
|
chartRef = getChartReferenceFromAnchor(anchor);
|
|
3240
|
-
if (
|
|
3241
|
-
|
|
3242
|
-
|
|
3347
|
+
if (!!chartRef) return [3 /*break*/, 3];
|
|
3348
|
+
chartExRef = getChartExReferenceFromAnchor(anchor);
|
|
3349
|
+
chartExRId_1 = get(chartExRef, "a$.r:id") || get(chartExRef, "a$.id");
|
|
3350
|
+
chartExRel = chartExRId_1
|
|
3351
|
+
? drawingRelsArray.find(function (rel) {
|
|
3352
|
+
return get(rel, "a$.Id") === chartExRId_1 ||
|
|
3353
|
+
get(rel, "a$.id") === chartExRId_1;
|
|
3354
|
+
})
|
|
3355
|
+
: undefined;
|
|
3356
|
+
if (!chartExRel) return [3 /*break*/, 2];
|
|
3357
|
+
return [4 /*yield*/, processChartEx(chartExRel.a$.Target, drawingPath, anchor, sheetId, this_2.zipParser, this_2.xmlParser, sheetDimensions, resolveSheetId)];
|
|
3358
|
+
case 1:
|
|
3359
|
+
chartEx = _k.sent();
|
|
3360
|
+
if (chartEx)
|
|
3361
|
+
charts.push(chartEx);
|
|
3362
|
+
_k.label = 2;
|
|
3363
|
+
case 2: return [2 /*return*/, "continue"];
|
|
3364
|
+
case 3:
|
|
3243
3365
|
chartRId = get(chartRef, "a$.r:id") ||
|
|
3244
3366
|
get(chartRef, "a$.id") ||
|
|
3245
3367
|
get(chartRef, "a$.rId") ||
|
|
@@ -3250,15 +3372,15 @@ var XlsxPlugin = /** @class */ (function (_super) {
|
|
|
3250
3372
|
chartRel = drawingRelsArray.find(function (rel) {
|
|
3251
3373
|
return get(rel, "a$.Id") === chartRId || get(rel, "a$.id") === chartRId;
|
|
3252
3374
|
});
|
|
3253
|
-
if (!chartRel) return [3 /*break*/,
|
|
3375
|
+
if (!chartRel) return [3 /*break*/, 5];
|
|
3254
3376
|
return [4 /*yield*/, processChart(chartRel.a$.Target, drawingPath, anchor, sheetId, this_2.zipParser, this_2.xmlParser, sheetDimensions, resolveSheetId)];
|
|
3255
|
-
case
|
|
3377
|
+
case 4:
|
|
3256
3378
|
chart = _k.sent();
|
|
3257
3379
|
if (chart) {
|
|
3258
3380
|
charts.push(chart);
|
|
3259
3381
|
}
|
|
3260
|
-
_k.label =
|
|
3261
|
-
case
|
|
3382
|
+
_k.label = 5;
|
|
3383
|
+
case 5: return [2 /*return*/];
|
|
3262
3384
|
}
|
|
3263
3385
|
});
|
|
3264
3386
|
};
|
|
@@ -3338,8 +3460,9 @@ var XlsxPlugin = /** @class */ (function (_super) {
|
|
|
3338
3460
|
return __awaiter(this, void 0, void 0, function () {
|
|
3339
3461
|
var images, target, path, drawing, drawings, sheetRelPath, sheetRelContent, sheetRels, drawingRelations, drawingRelationsArray, _loop_6, this_3, drawings_2, drawings_2_1, drawingElement, e_28_1;
|
|
3340
3462
|
var e_28, _a;
|
|
3341
|
-
|
|
3342
|
-
|
|
3463
|
+
var _b;
|
|
3464
|
+
return __generator(this, function (_c) {
|
|
3465
|
+
switch (_c.label) {
|
|
3343
3466
|
case 0:
|
|
3344
3467
|
images = [];
|
|
3345
3468
|
target = this.relations[rid].target;
|
|
@@ -3356,17 +3479,17 @@ var XlsxPlugin = /** @class */ (function (_super) {
|
|
|
3356
3479
|
sheetRelPath = path.replace("worksheets", "worksheets/_rels") + ".rels";
|
|
3357
3480
|
return [4 /*yield*/, this.zipParser.getText(sheetRelPath)];
|
|
3358
3481
|
case 1:
|
|
3359
|
-
sheetRelContent =
|
|
3482
|
+
sheetRelContent = _c.sent();
|
|
3360
3483
|
sheetRels = this.xmlParser.parse(sheetRelContent);
|
|
3361
3484
|
drawingRelations = get(sheetRels, "Relationships.Relationship");
|
|
3362
3485
|
drawingRelationsArray = Array.isArray(drawingRelations)
|
|
3363
3486
|
? drawingRelations
|
|
3364
3487
|
: [drawingRelations];
|
|
3365
3488
|
_loop_6 = function (drawingElement) {
|
|
3366
|
-
var drawingId, drawingRels, drawingRels_2, drawingRels_2_1, drawingRel, drawingPath, drawingContent, drawing_1,
|
|
3367
|
-
var
|
|
3368
|
-
return __generator(this, function (
|
|
3369
|
-
switch (
|
|
3489
|
+
var drawingId, drawingRels, drawingRels_2, drawingRels_2_1, drawingRel, drawingPath, drawingContent, drawing_1, _d, _e, anchor, _f, _g, image, e_29_1, e_30_1, e_31_1;
|
|
3490
|
+
var e_31, _h, e_30, _j, e_29, _k;
|
|
3491
|
+
return __generator(this, function (_l) {
|
|
3492
|
+
switch (_l.label) {
|
|
3370
3493
|
case 0:
|
|
3371
3494
|
drawingId = get(drawingElement, "a$.r:id") || get(drawingElement, "a$.id");
|
|
3372
3495
|
drawingRels = drawingRelationsArray.filter(function (rel) {
|
|
@@ -3375,13 +3498,13 @@ var XlsxPlugin = /** @class */ (function (_super) {
|
|
|
3375
3498
|
rel.a$.ID === drawingId ||
|
|
3376
3499
|
(rel.a$.Target && rel.a$.Target.includes("drawing"));
|
|
3377
3500
|
});
|
|
3378
|
-
|
|
3501
|
+
_l.label = 1;
|
|
3379
3502
|
case 1:
|
|
3380
|
-
|
|
3381
|
-
drawingRels_2 = (
|
|
3382
|
-
|
|
3503
|
+
_l.trys.push([1, 19, 20, 21]);
|
|
3504
|
+
drawingRels_2 = (e_31 = void 0, __values(drawingRels)), drawingRels_2_1 = drawingRels_2.next();
|
|
3505
|
+
_l.label = 2;
|
|
3383
3506
|
case 2:
|
|
3384
|
-
if (!!drawingRels_2_1.done) return [3 /*break*/,
|
|
3507
|
+
if (!!drawingRels_2_1.done) return [3 /*break*/, 18];
|
|
3385
3508
|
drawingRel = drawingRels_2_1.value;
|
|
3386
3509
|
drawingPath = drawingRel.a$.Target;
|
|
3387
3510
|
if (drawingPath.startsWith("../")) {
|
|
@@ -3400,130 +3523,94 @@ var XlsxPlugin = /** @class */ (function (_super) {
|
|
|
3400
3523
|
}
|
|
3401
3524
|
return [4 /*yield*/, this_3.zipParser.getText(drawingPath)];
|
|
3402
3525
|
case 3:
|
|
3403
|
-
drawingContent =
|
|
3404
|
-
drawing_1 = this_3.xmlParser.parse(drawingContent
|
|
3405
|
-
|
|
3406
|
-
get(drawing_1, "wsDr.twoCellAnchor");
|
|
3407
|
-
oneCellAnchors = get(drawing_1, "xdr:wsDr.xdr:oneCellAnchor") ||
|
|
3408
|
-
get(drawing_1, "wsDr.oneCellAnchor");
|
|
3409
|
-
absoluteAnchors = get(drawing_1, "xdr:wsDr.xdr:absoluteAnchor") ||
|
|
3410
|
-
get(drawing_1, "wsDr.absoluteAnchor");
|
|
3411
|
-
_o.label = 4;
|
|
3526
|
+
drawingContent = (_b = (_l.sent())) !== null && _b !== void 0 ? _b : "";
|
|
3527
|
+
drawing_1 = this_3.xmlParser.parse(drawingContent);
|
|
3528
|
+
_l.label = 4;
|
|
3412
3529
|
case 4:
|
|
3413
|
-
|
|
3414
|
-
|
|
3415
|
-
|
|
3530
|
+
_l.trys.push([4, 15, 16, 17]);
|
|
3531
|
+
_d = (e_30 = void 0, __values(anchorsInDocumentOrder(drawing_1, drawingContent))), _e = _d.next();
|
|
3532
|
+
_l.label = 5;
|
|
3416
3533
|
case 5:
|
|
3417
|
-
|
|
3418
|
-
|
|
3534
|
+
if (!!_e.done) return [3 /*break*/, 14];
|
|
3535
|
+
anchor = _e.value;
|
|
3536
|
+
_l.label = 6;
|
|
3419
3537
|
case 6:
|
|
3420
|
-
|
|
3421
|
-
|
|
3422
|
-
|
|
3423
|
-
_o.label = 7;
|
|
3538
|
+
_l.trys.push([6, 11, 12, 13]);
|
|
3539
|
+
e_29 = void 0;
|
|
3540
|
+
return [4 /*yield*/, processAnchors(anchor.node, anchor.kind, drawingPath, sheetId, this_3.zipParser, this_3.xmlParser)];
|
|
3424
3541
|
case 7:
|
|
3425
|
-
|
|
3426
|
-
|
|
3427
|
-
case 8:
|
|
3542
|
+
_f = (__values.apply(void 0, [_l.sent()])), _g = _f.next();
|
|
3543
|
+
_l.label = 8;
|
|
3544
|
+
case 8:
|
|
3545
|
+
if (!!_g.done) return [3 /*break*/, 10];
|
|
3546
|
+
image = _g.value;
|
|
3547
|
+
images.push(image);
|
|
3548
|
+
_l.label = 9;
|
|
3428
3549
|
case 9:
|
|
3429
|
-
|
|
3550
|
+
_g = _f.next();
|
|
3551
|
+
return [3 /*break*/, 8];
|
|
3552
|
+
case 10: return [3 /*break*/, 13];
|
|
3553
|
+
case 11:
|
|
3554
|
+
e_29_1 = _l.sent();
|
|
3430
3555
|
e_29 = { error: e_29_1 };
|
|
3431
|
-
return [3 /*break*/,
|
|
3432
|
-
case
|
|
3556
|
+
return [3 /*break*/, 13];
|
|
3557
|
+
case 12:
|
|
3433
3558
|
try {
|
|
3434
|
-
if (
|
|
3559
|
+
if (_g && !_g.done && (_k = _f.return)) _k.call(_f);
|
|
3435
3560
|
}
|
|
3436
3561
|
finally { if (e_29) throw e_29.error; }
|
|
3437
3562
|
return [7 /*endfinally*/];
|
|
3438
|
-
case 11:
|
|
3439
|
-
_o.trys.push([11, 16, 17, 18]);
|
|
3440
|
-
e_30 = void 0;
|
|
3441
|
-
return [4 /*yield*/, processAnchors(twoCellAnchors, "twoCellAnchors", drawingPath, sheetId, this_3.zipParser, this_3.xmlParser)];
|
|
3442
|
-
case 12:
|
|
3443
|
-
_e = (__values.apply(void 0, [_o.sent()])), _f = _e.next();
|
|
3444
|
-
_o.label = 13;
|
|
3445
3563
|
case 13:
|
|
3446
|
-
|
|
3447
|
-
|
|
3448
|
-
|
|
3449
|
-
|
|
3450
|
-
|
|
3451
|
-
_f = _e.next();
|
|
3452
|
-
return [3 /*break*/, 13];
|
|
3453
|
-
case 15: return [3 /*break*/, 18];
|
|
3454
|
-
case 16:
|
|
3455
|
-
e_30_1 = _o.sent();
|
|
3564
|
+
_e = _d.next();
|
|
3565
|
+
return [3 /*break*/, 5];
|
|
3566
|
+
case 14: return [3 /*break*/, 17];
|
|
3567
|
+
case 15:
|
|
3568
|
+
e_30_1 = _l.sent();
|
|
3456
3569
|
e_30 = { error: e_30_1 };
|
|
3457
|
-
return [3 /*break*/,
|
|
3458
|
-
case
|
|
3570
|
+
return [3 /*break*/, 17];
|
|
3571
|
+
case 16:
|
|
3459
3572
|
try {
|
|
3460
|
-
if (
|
|
3573
|
+
if (_e && !_e.done && (_j = _d.return)) _j.call(_d);
|
|
3461
3574
|
}
|
|
3462
3575
|
finally { if (e_30) throw e_30.error; }
|
|
3463
3576
|
return [7 /*endfinally*/];
|
|
3464
|
-
case
|
|
3465
|
-
|
|
3466
|
-
|
|
3467
|
-
|
|
3577
|
+
case 17:
|
|
3578
|
+
drawingRels_2_1 = drawingRels_2.next();
|
|
3579
|
+
return [3 /*break*/, 2];
|
|
3580
|
+
case 18: return [3 /*break*/, 21];
|
|
3468
3581
|
case 19:
|
|
3469
|
-
|
|
3470
|
-
_o.label = 20;
|
|
3471
|
-
case 20:
|
|
3472
|
-
if (!!_h.done) return [3 /*break*/, 22];
|
|
3473
|
-
image = _h.value;
|
|
3474
|
-
images.push(image);
|
|
3475
|
-
_o.label = 21;
|
|
3476
|
-
case 21:
|
|
3477
|
-
_h = _g.next();
|
|
3478
|
-
return [3 /*break*/, 20];
|
|
3479
|
-
case 22: return [3 /*break*/, 25];
|
|
3480
|
-
case 23:
|
|
3481
|
-
e_31_1 = _o.sent();
|
|
3582
|
+
e_31_1 = _l.sent();
|
|
3482
3583
|
e_31 = { error: e_31_1 };
|
|
3483
|
-
return [3 /*break*/,
|
|
3484
|
-
case
|
|
3584
|
+
return [3 /*break*/, 21];
|
|
3585
|
+
case 20:
|
|
3485
3586
|
try {
|
|
3486
|
-
if (
|
|
3587
|
+
if (drawingRels_2_1 && !drawingRels_2_1.done && (_h = drawingRels_2.return)) _h.call(drawingRels_2);
|
|
3487
3588
|
}
|
|
3488
3589
|
finally { if (e_31) throw e_31.error; }
|
|
3489
3590
|
return [7 /*endfinally*/];
|
|
3490
|
-
case
|
|
3491
|
-
drawingRels_2_1 = drawingRels_2.next();
|
|
3492
|
-
return [3 /*break*/, 2];
|
|
3493
|
-
case 26: return [3 /*break*/, 29];
|
|
3494
|
-
case 27:
|
|
3495
|
-
e_32_1 = _o.sent();
|
|
3496
|
-
e_32 = { error: e_32_1 };
|
|
3497
|
-
return [3 /*break*/, 29];
|
|
3498
|
-
case 28:
|
|
3499
|
-
try {
|
|
3500
|
-
if (drawingRels_2_1 && !drawingRels_2_1.done && (_j = drawingRels_2.return)) _j.call(drawingRels_2);
|
|
3501
|
-
}
|
|
3502
|
-
finally { if (e_32) throw e_32.error; }
|
|
3503
|
-
return [7 /*endfinally*/];
|
|
3504
|
-
case 29: return [2 /*return*/];
|
|
3591
|
+
case 21: return [2 /*return*/];
|
|
3505
3592
|
}
|
|
3506
3593
|
});
|
|
3507
3594
|
};
|
|
3508
3595
|
this_3 = this;
|
|
3509
|
-
|
|
3596
|
+
_c.label = 2;
|
|
3510
3597
|
case 2:
|
|
3511
|
-
|
|
3598
|
+
_c.trys.push([2, 7, 8, 9]);
|
|
3512
3599
|
drawings_2 = __values(drawings), drawings_2_1 = drawings_2.next();
|
|
3513
|
-
|
|
3600
|
+
_c.label = 3;
|
|
3514
3601
|
case 3:
|
|
3515
3602
|
if (!!drawings_2_1.done) return [3 /*break*/, 6];
|
|
3516
3603
|
drawingElement = drawings_2_1.value;
|
|
3517
3604
|
return [5 /*yield**/, _loop_6(drawingElement)];
|
|
3518
3605
|
case 4:
|
|
3519
|
-
|
|
3520
|
-
|
|
3606
|
+
_c.sent();
|
|
3607
|
+
_c.label = 5;
|
|
3521
3608
|
case 5:
|
|
3522
3609
|
drawings_2_1 = drawings_2.next();
|
|
3523
3610
|
return [3 /*break*/, 3];
|
|
3524
3611
|
case 6: return [3 /*break*/, 9];
|
|
3525
3612
|
case 7:
|
|
3526
|
-
e_28_1 =
|
|
3613
|
+
e_28_1 = _c.sent();
|
|
3527
3614
|
e_28 = { error: e_28_1 };
|
|
3528
3615
|
return [3 /*break*/, 9];
|
|
3529
3616
|
case 8:
|
|
@@ -3569,6 +3656,10 @@ var XlsxPlugin = /** @class */ (function (_super) {
|
|
|
3569
3656
|
var _a;
|
|
3570
3657
|
return (_a = this.theme) !== null && _a !== void 0 ? _a : defaultSpreadsheetTheme;
|
|
3571
3658
|
};
|
|
3659
|
+
/** `<cellStyles>` resolved to cell formats (toolbar "Workbook styles" gallery). */
|
|
3660
|
+
XlsxPlugin.prototype.getNamedCellStyles = function () {
|
|
3661
|
+
return resolveNamedCellStyles(this.workbookStyles);
|
|
3662
|
+
};
|
|
3572
3663
|
/**
|
|
3573
3664
|
* The workbook default font — styles.xml fonts[0], the font every cell
|
|
3574
3665
|
* without an explicit font inherits. Exporters pass this through so the
|
|
@@ -3605,9 +3696,46 @@ var XlsxPlugin = /** @class */ (function (_super) {
|
|
|
3605
3696
|
XlsxPlugin.prototype._getSheets = function () {
|
|
3606
3697
|
return this.workSheets;
|
|
3607
3698
|
};
|
|
3699
|
+
/**
|
|
3700
|
+
* Resolve a builtin print name to its sheet (`localSheetId` indexes the
|
|
3701
|
+
* `<sheets>` order; a name without scope falls back to the sheet named in
|
|
3702
|
+
* the formula) and record the parsed print area / titles for `getSheets()`.
|
|
3703
|
+
*/
|
|
3704
|
+
XlsxPlugin.prototype.stashBuiltinPrintName = function (name, expression, localSheetId, sheetIdBySheetName) {
|
|
3705
|
+
var _a, _b;
|
|
3706
|
+
if (!expression || expression.includes("#REF!"))
|
|
3707
|
+
return;
|
|
3708
|
+
var parsed = name === PRINT_AREA_NAME
|
|
3709
|
+
? parsePrintAreaFormula(expression)
|
|
3710
|
+
: parsePrintTitlesFormula(expression);
|
|
3711
|
+
if (!parsed)
|
|
3712
|
+
return;
|
|
3713
|
+
var sheetId;
|
|
3714
|
+
if (localSheetId !== undefined) {
|
|
3715
|
+
var index = parseInt(localSheetId, 10);
|
|
3716
|
+
var sheetEl = this._getSheets()[index];
|
|
3717
|
+
var id = Number((_a = sheetEl === null || sheetEl === void 0 ? void 0 : sheetEl.a$) === null || _a === void 0 ? void 0 : _a.sheetId);
|
|
3718
|
+
if (Number.isFinite(id))
|
|
3719
|
+
sheetId = id;
|
|
3720
|
+
}
|
|
3721
|
+
if (sheetId === undefined && parsed.sheetName) {
|
|
3722
|
+
sheetId = sheetIdBySheetName[parsed.sheetName];
|
|
3723
|
+
}
|
|
3724
|
+
if (sheetId === undefined)
|
|
3725
|
+
return;
|
|
3726
|
+
var entry = (_b = this.printNamesBySheetId.get(sheetId)) !== null && _b !== void 0 ? _b : {};
|
|
3727
|
+
if ("ranges" in parsed) {
|
|
3728
|
+
entry.printArea = parsed.ranges;
|
|
3729
|
+
}
|
|
3730
|
+
else {
|
|
3731
|
+
entry.printTitles = parsed.titles;
|
|
3732
|
+
}
|
|
3733
|
+
this.printNamesBySheetId.set(sheetId, entry);
|
|
3734
|
+
};
|
|
3608
3735
|
XlsxPlugin.prototype._getNamedRanges = function () {
|
|
3609
|
-
var
|
|
3610
|
-
var _c;
|
|
3736
|
+
var e_32, _a, e_33, _b;
|
|
3737
|
+
var _c, _d;
|
|
3738
|
+
this.printNamesBySheetId.clear();
|
|
3611
3739
|
var xml = this.workbookXml;
|
|
3612
3740
|
var sheetIdBySheetName = this._getSheets().reduce(function (acc, element) {
|
|
3613
3741
|
var _a;
|
|
@@ -3632,6 +3760,14 @@ var XlsxPlugin = /** @class */ (function (_super) {
|
|
|
3632
3760
|
var name_7 = (_c = defined_name.a$) === null || _c === void 0 ? void 0 : _c.name;
|
|
3633
3761
|
var expression = defined_name.t$ || "";
|
|
3634
3762
|
var hidden = defined_name.a$.hidden === "1";
|
|
3763
|
+
// `_xlnm.Print_Area` / `_xlnm.Print_Titles` are sheet-scoped print
|
|
3764
|
+
// facets, not user names: they land on `sheet.printSettings` (see
|
|
3765
|
+
// `getSheets()`), never in `namedRanges` — a global copy would make
|
|
3766
|
+
// Excel repair the file on the next export.
|
|
3767
|
+
if (isBuiltinPrintName(name_7)) {
|
|
3768
|
+
this.stashBuiltinPrintName(name_7, typeof expression === "string" ? expression : "", (_d = defined_name.a$) === null || _d === void 0 ? void 0 : _d.localSheetId, sheetIdBySheetName);
|
|
3769
|
+
continue;
|
|
3770
|
+
}
|
|
3635
3771
|
// Empty defined names are noise; nothing useful to round-trip.
|
|
3636
3772
|
// Hidden defined names ARE preserved — Excel uses them as scratch
|
|
3637
3773
|
// names for features like print areas and add-ins, and dropping
|
|
@@ -3647,7 +3783,7 @@ var XlsxPlugin = /** @class */ (function (_super) {
|
|
|
3647
3783
|
var pushedRange = false;
|
|
3648
3784
|
if (selections.length) {
|
|
3649
3785
|
try {
|
|
3650
|
-
for (var selections_1 = (
|
|
3786
|
+
for (var selections_1 = (e_33 = void 0, __values(selections)), selections_1_1 = selections_1.next(); !selections_1_1.done; selections_1_1 = selections_1.next()) {
|
|
3651
3787
|
var selection = selections_1_1.value;
|
|
3652
3788
|
var sheetId = selection.sheetName
|
|
3653
3789
|
? sheetIdBySheetName[selection.sheetName]
|
|
@@ -3658,12 +3794,12 @@ var XlsxPlugin = /** @class */ (function (_super) {
|
|
|
3658
3794
|
}
|
|
3659
3795
|
}
|
|
3660
3796
|
}
|
|
3661
|
-
catch (
|
|
3797
|
+
catch (e_33_1) { e_33 = { error: e_33_1 }; }
|
|
3662
3798
|
finally {
|
|
3663
3799
|
try {
|
|
3664
3800
|
if (selections_1_1 && !selections_1_1.done && (_b = selections_1.return)) _b.call(selections_1);
|
|
3665
3801
|
}
|
|
3666
|
-
finally { if (
|
|
3802
|
+
finally { if (e_33) throw e_33.error; }
|
|
3667
3803
|
}
|
|
3668
3804
|
}
|
|
3669
3805
|
// Reference parsed but no selection bound to a known sheet — most
|
|
@@ -3687,12 +3823,12 @@ var XlsxPlugin = /** @class */ (function (_super) {
|
|
|
3687
3823
|
}
|
|
3688
3824
|
}
|
|
3689
3825
|
}
|
|
3690
|
-
catch (
|
|
3826
|
+
catch (e_32_1) { e_32 = { error: e_32_1 }; }
|
|
3691
3827
|
finally {
|
|
3692
3828
|
try {
|
|
3693
3829
|
if (defined_names_1_1 && !defined_names_1_1.done && (_a = defined_names_1.return)) _a.call(defined_names_1);
|
|
3694
3830
|
}
|
|
3695
|
-
finally { if (
|
|
3831
|
+
finally { if (e_32) throw e_32.error; }
|
|
3696
3832
|
}
|
|
3697
3833
|
}
|
|
3698
3834
|
return namedRanges;
|
|
@@ -3751,8 +3887,8 @@ var XlsxPlugin = /** @class */ (function (_super) {
|
|
|
3751
3887
|
// INTERFACE IMPLEMENTATION METHODS
|
|
3752
3888
|
XlsxPlugin.prototype.getSheets = function () {
|
|
3753
3889
|
return __awaiter(this, arguments, void 0, function (minRowCount, minColumnCount) {
|
|
3754
|
-
var workSheets, sheets, tables, workSheets_1, workSheets_1_1, element, built,
|
|
3755
|
-
var
|
|
3890
|
+
var workSheets, sheets, tables, workSheets_1, workSheets_1_1, element, built, e_34_1;
|
|
3891
|
+
var e_34, _a;
|
|
3756
3892
|
var _b;
|
|
3757
3893
|
if (minRowCount === void 0) { minRowCount = 0; }
|
|
3758
3894
|
if (minColumnCount === void 0) { minColumnCount = 0; }
|
|
@@ -3787,14 +3923,14 @@ var XlsxPlugin = /** @class */ (function (_super) {
|
|
|
3787
3923
|
return [3 /*break*/, 2];
|
|
3788
3924
|
case 5: return [3 /*break*/, 8];
|
|
3789
3925
|
case 6:
|
|
3790
|
-
|
|
3791
|
-
|
|
3926
|
+
e_34_1 = _c.sent();
|
|
3927
|
+
e_34 = { error: e_34_1 };
|
|
3792
3928
|
return [3 /*break*/, 8];
|
|
3793
3929
|
case 7:
|
|
3794
3930
|
try {
|
|
3795
3931
|
if (workSheets_1_1 && !workSheets_1_1.done && (_a = workSheets_1.return)) _a.call(workSheets_1);
|
|
3796
3932
|
}
|
|
3797
|
-
finally { if (
|
|
3933
|
+
finally { if (e_34) throw e_34.error; }
|
|
3798
3934
|
return [7 /*endfinally*/];
|
|
3799
3935
|
case 8: return [2 /*return*/, [sheets, tables]];
|
|
3800
3936
|
}
|
|
@@ -3852,8 +3988,8 @@ var XlsxPlugin = /** @class */ (function (_super) {
|
|
|
3852
3988
|
};
|
|
3853
3989
|
XlsxPlugin.prototype.buildSheetFromElement = function (element_1) {
|
|
3854
3990
|
return __awaiter(this, arguments, void 0, function (element, minRowCount, minColumnCount) {
|
|
3855
|
-
var name, state, sheetId, rid, visibility, hidden, sheet_1, metadata, merges, rowEntries, columnMetadata, maxRowIndex, maxColumnIndex, autoFilterRange_1, filterSpecs, sheetViewData, tabColor, sheetHasFilterMode_1, zeroHeight_1, defaultRowHeightPx, defaultColumnWidthPx, tablePartIds, outlineSummaryBelow, outlineSummaryRight, rowCount, sheetTables, rowInTableMap_1, columnCount, _a, frozenRowCount, frozenColumnCount, paneTopLeftCell, showGridLines, showRowColHeaders, showZeros, zoomScale, merges_2, merges_2_1, range, drawingBounds, finalRowCount, finalColumnCount;
|
|
3856
|
-
var
|
|
3991
|
+
var name, state, sheetId, rid, visibility, hidden, sheet_1, metadata, merges, rowEntries, columnMetadata, maxRowIndex, maxColumnIndex, autoFilterRange_1, filterSpecs, sheetViewData, tabColor, sheetHasFilterMode_1, zeroHeight_1, defaultRowHeightPx, defaultColumnWidthPx, tablePartIds, outlineSummaryBelow, outlineSummaryRight, sheetProtection, protectedRangeEntries, printSettings, printNames, merged, rowCount, sheetTables, rowInTableMap_1, columnCount, _a, frozenRowCount, frozenColumnCount, paneTopLeftCell, showGridLines, showRowColHeaders, showZeros, zoomScale, rightToLeft, merges_2, merges_2_1, range, drawingBounds, finalRowCount, finalColumnCount;
|
|
3992
|
+
var e_35, _b;
|
|
3857
3993
|
var _c;
|
|
3858
3994
|
if (minRowCount === void 0) { minRowCount = 0; }
|
|
3859
3995
|
if (minColumnCount === void 0) { minColumnCount = 0; }
|
|
@@ -3885,7 +4021,17 @@ var XlsxPlugin = /** @class */ (function (_super) {
|
|
|
3885
4021
|
return [4 /*yield*/, this.getSheetMetadata(rid)];
|
|
3886
4022
|
case 1:
|
|
3887
4023
|
metadata = _d.sent();
|
|
3888
|
-
merges = metadata.merges, rowEntries = metadata.rowEntries, columnMetadata = metadata.columnMetadata, maxRowIndex = metadata.maxRowIndex, maxColumnIndex = metadata.maxColumnIndex, autoFilterRange_1 = metadata.autoFilterRange, filterSpecs = metadata.filterSpecs, sheetViewData = metadata.sheetViewData, tabColor = metadata.tabColor, sheetHasFilterMode_1 = metadata.sheetHasFilterMode, zeroHeight_1 = metadata.zeroHeight, defaultRowHeightPx = metadata.defaultRowHeightPx, defaultColumnWidthPx = metadata.defaultColumnWidthPx, tablePartIds = metadata.tablePartIds, outlineSummaryBelow = metadata.outlineSummaryBelow, outlineSummaryRight = metadata.outlineSummaryRight;
|
|
4024
|
+
merges = metadata.merges, rowEntries = metadata.rowEntries, columnMetadata = metadata.columnMetadata, maxRowIndex = metadata.maxRowIndex, maxColumnIndex = metadata.maxColumnIndex, autoFilterRange_1 = metadata.autoFilterRange, filterSpecs = metadata.filterSpecs, sheetViewData = metadata.sheetViewData, tabColor = metadata.tabColor, sheetHasFilterMode_1 = metadata.sheetHasFilterMode, zeroHeight_1 = metadata.zeroHeight, defaultRowHeightPx = metadata.defaultRowHeightPx, defaultColumnWidthPx = metadata.defaultColumnWidthPx, tablePartIds = metadata.tablePartIds, outlineSummaryBelow = metadata.outlineSummaryBelow, outlineSummaryRight = metadata.outlineSummaryRight, sheetProtection = metadata.sheetProtection, protectedRangeEntries = metadata.protectedRangeEntries, printSettings = metadata.printSettings;
|
|
4025
|
+
if (sheetProtection) {
|
|
4026
|
+
sheet_1.sheetProtection = sheetProtection;
|
|
4027
|
+
}
|
|
4028
|
+
{
|
|
4029
|
+
printNames = this.printNamesBySheetId.get(sheetId);
|
|
4030
|
+
merged = compactPrintSettings(__assign(__assign({}, printSettings), { printArea: printNames === null || printNames === void 0 ? void 0 : printNames.printArea, printTitles: printNames === null || printNames === void 0 ? void 0 : printNames.printTitles }));
|
|
4031
|
+
if (merged)
|
|
4032
|
+
sheet_1.printSettings = merged;
|
|
4033
|
+
}
|
|
4034
|
+
this.protectedRangesBySheet.set(sheetId, protectedRangesFromEntries(sheetId, protectedRangeEntries));
|
|
3889
4035
|
if (defaultRowHeightPx !== undefined) {
|
|
3890
4036
|
sheet_1.defaultRowHeight = defaultRowHeightPx;
|
|
3891
4037
|
}
|
|
@@ -3917,7 +4063,7 @@ var XlsxPlugin = /** @class */ (function (_super) {
|
|
|
3917
4063
|
}
|
|
3918
4064
|
});
|
|
3919
4065
|
columnCount = 0;
|
|
3920
|
-
_a = extractSheetViewProperties(sheetViewData), frozenRowCount = _a.frozenRowCount, frozenColumnCount = _a.frozenColumnCount, paneTopLeftCell = _a.paneTopLeftCell, showGridLines = _a.showGridLines, showRowColHeaders = _a.showRowColHeaders, showZeros = _a.showZeros, zoomScale = _a.zoomScale;
|
|
4066
|
+
_a = extractSheetViewProperties(sheetViewData), frozenRowCount = _a.frozenRowCount, frozenColumnCount = _a.frozenColumnCount, paneTopLeftCell = _a.paneTopLeftCell, showGridLines = _a.showGridLines, showRowColHeaders = _a.showRowColHeaders, showZeros = _a.showZeros, zoomScale = _a.zoomScale, rightToLeft = _a.rightToLeft;
|
|
3921
4067
|
sheet_1.frozenRowCount = frozenRowCount;
|
|
3922
4068
|
sheet_1.frozenColumnCount = frozenColumnCount;
|
|
3923
4069
|
if (paneTopLeftCell) {
|
|
@@ -3933,6 +4079,8 @@ var XlsxPlugin = /** @class */ (function (_super) {
|
|
|
3933
4079
|
if (zoomScale !== undefined && zoomScale !== 100) {
|
|
3934
4080
|
sheet_1.zoomScale = zoomScale;
|
|
3935
4081
|
}
|
|
4082
|
+
if (rightToLeft)
|
|
4083
|
+
sheet_1.rightToLeft = true;
|
|
3936
4084
|
// tab color
|
|
3937
4085
|
if (tabColor) {
|
|
3938
4086
|
sheet_1.tabColor = extractColor(tabColor, this.workbookStyles.indexedColors);
|
|
@@ -3952,12 +4100,12 @@ var XlsxPlugin = /** @class */ (function (_super) {
|
|
|
3952
4100
|
sheet_1.merges.push(range);
|
|
3953
4101
|
}
|
|
3954
4102
|
}
|
|
3955
|
-
catch (
|
|
4103
|
+
catch (e_35_1) { e_35 = { error: e_35_1 }; }
|
|
3956
4104
|
finally {
|
|
3957
4105
|
try {
|
|
3958
4106
|
if (merges_2_1 && !merges_2_1.done && (_b = merges_2.return)) _b.call(merges_2);
|
|
3959
4107
|
}
|
|
3960
|
-
finally { if (
|
|
4108
|
+
finally { if (e_35) throw e_35.error; }
|
|
3961
4109
|
}
|
|
3962
4110
|
columnCount = findMax([maxColumnIndex, minColumnCount]);
|
|
3963
4111
|
rowEntries.forEach(function (entry, rowIndex) {
|
|
@@ -4045,8 +4193,8 @@ var XlsxPlugin = /** @class */ (function (_super) {
|
|
|
4045
4193
|
};
|
|
4046
4194
|
XlsxPlugin.prototype.processSheetData = function () {
|
|
4047
4195
|
return __asyncGenerator(this, arguments, function processSheetData_1(chunkSize, enableCellXfsRegistry, _enableSharedStrings, onPhase) {
|
|
4048
|
-
var workSheets, totalSheets, currentSheetIndex, workSheets_2, workSheets_2_1, element,
|
|
4049
|
-
var
|
|
4196
|
+
var workSheets, totalSheets, currentSheetIndex, workSheets_2, workSheets_2_1, element, e_36_1;
|
|
4197
|
+
var e_36, _a;
|
|
4050
4198
|
var _b;
|
|
4051
4199
|
if (chunkSize === void 0) { chunkSize = 100; }
|
|
4052
4200
|
if (enableCellXfsRegistry === void 0) { enableCellXfsRegistry = false; }
|
|
@@ -4085,14 +4233,14 @@ var XlsxPlugin = /** @class */ (function (_super) {
|
|
|
4085
4233
|
return [3 /*break*/, 2];
|
|
4086
4234
|
case 6: return [3 /*break*/, 9];
|
|
4087
4235
|
case 7:
|
|
4088
|
-
|
|
4089
|
-
|
|
4236
|
+
e_36_1 = _c.sent();
|
|
4237
|
+
e_36 = { error: e_36_1 };
|
|
4090
4238
|
return [3 /*break*/, 9];
|
|
4091
4239
|
case 8:
|
|
4092
4240
|
try {
|
|
4093
4241
|
if (workSheets_2_1 && !workSheets_2_1.done && (_a = workSheets_2.return)) _a.call(workSheets_2);
|
|
4094
4242
|
}
|
|
4095
|
-
finally { if (
|
|
4243
|
+
finally { if (e_36) throw e_36.error; }
|
|
4096
4244
|
return [7 /*endfinally*/];
|
|
4097
4245
|
case 9: return [2 /*return*/];
|
|
4098
4246
|
}
|
|
@@ -4142,10 +4290,10 @@ var XlsxPlugin = /** @class */ (function (_super) {
|
|
|
4142
4290
|
};
|
|
4143
4291
|
XlsxPlugin.prototype.processOneSheet = function (element_1, _a) {
|
|
4144
4292
|
return __asyncGenerator(this, arguments, function processOneSheet_1(element, _b) {
|
|
4145
|
-
var name_8, sheetId_1, rid, metadata, materializeMaxColumn, colStyleByColumn_1, _c, _d, _e, min, max, styleIndex, clampedMax, col, styleCellTemplates_1, getTemplateForStyleIndex, styleMaterializeBudget, mergeRangesByRow_1, getMergeRangeForCell, sheetComments, sheetThreadedComments_1, commentsByRow_1, threadsByRow_1, hyperlinksByRow, sparklinesByRow, dvFeatures, dvStamper, _f, _g, CHUNK_SIZE, chunkIndex_1, totalRowsProcessed_1, totalRowsKnown_1, lastRowIndex, currentChunk_1, currentChunkRowIndices_1, startRowIndex_1, endRowIndex_1, flushChunk, _loop_7, this_4, _h, _j, _k,
|
|
4146
|
-
var
|
|
4293
|
+
var name_8, sheetId_1, rid, metadata, materializeMaxColumn, colStyleByColumn_1, _c, _d, _e, min, max, styleIndex, clampedMax, col, styleCellTemplates_1, getTemplateForStyleIndex, styleMaterializeBudget, mergeRangesByRow_1, getMergeRangeForCell, sheetComments, sheetThreadedComments_1, commentsByRow_1, threadsByRow_1, hyperlinksByRow, sparklinesByRow, dvFeatures, dvStamper, _f, _g, CHUNK_SIZE, chunkIndex_1, totalRowsProcessed_1, totalRowsKnown_1, lastRowIndex, currentChunk_1, currentChunkRowIndices_1, startRowIndex_1, endRowIndex_1, flushChunk, _loop_7, this_4, _h, _j, _k, e_37_1, _l, _m, trailing, payload, e_38_1, finalPayload;
|
|
4294
|
+
var e_39, _o, e_38, _p;
|
|
4147
4295
|
var _this = this;
|
|
4148
|
-
var _q,
|
|
4296
|
+
var _q, e_37, _r, _s;
|
|
4149
4297
|
var _t, _u, _v, _w, _x, _y, _z, _0, _1, _2, _3, _4;
|
|
4150
4298
|
var chunkSize = _b.chunkSize, enableCellXfsRegistry = _b.enableCellXfsRegistry, _enableSharedStrings = _b.enableSharedStrings, onPhase = _b.onPhase, currentSheetIndex = _b.currentSheetIndex, totalSheets = _b.totalSheets;
|
|
4151
4299
|
return __generator(this, function (_5) {
|
|
@@ -4175,12 +4323,12 @@ var XlsxPlugin = /** @class */ (function (_super) {
|
|
|
4175
4323
|
}
|
|
4176
4324
|
}
|
|
4177
4325
|
}
|
|
4178
|
-
catch (
|
|
4326
|
+
catch (e_39_1) { e_39 = { error: e_39_1 }; }
|
|
4179
4327
|
finally {
|
|
4180
4328
|
try {
|
|
4181
4329
|
if (_d && !_d.done && (_o = _c.return)) _o.call(_c);
|
|
4182
4330
|
}
|
|
4183
|
-
finally { if (
|
|
4331
|
+
finally { if (e_39) throw e_39.error; }
|
|
4184
4332
|
}
|
|
4185
4333
|
styleCellTemplates_1 = new Map();
|
|
4186
4334
|
getTemplateForStyleIndex = function (styleIndex) {
|
|
@@ -4194,7 +4342,7 @@ var XlsxPlugin = /** @class */ (function (_super) {
|
|
|
4194
4342
|
styleMaterializeBudget = STYLE_MATERIALIZE_CELL_BUDGET;
|
|
4195
4343
|
mergeRangesByRow_1 = this.buildMergeRangesByRow(metadata.merges);
|
|
4196
4344
|
getMergeRangeForCell = function (rowIndex, columnIndex) {
|
|
4197
|
-
var
|
|
4345
|
+
var e_40, _a;
|
|
4198
4346
|
var ranges = mergeRangesByRow_1.get(rowIndex);
|
|
4199
4347
|
if (!ranges)
|
|
4200
4348
|
return undefined;
|
|
@@ -4207,12 +4355,12 @@ var XlsxPlugin = /** @class */ (function (_super) {
|
|
|
4207
4355
|
}
|
|
4208
4356
|
}
|
|
4209
4357
|
}
|
|
4210
|
-
catch (
|
|
4358
|
+
catch (e_40_1) { e_40 = { error: e_40_1 }; }
|
|
4211
4359
|
finally {
|
|
4212
4360
|
try {
|
|
4213
4361
|
if (ranges_1_1 && !ranges_1_1.done && (_a = ranges_1.return)) _a.call(ranges_1);
|
|
4214
4362
|
}
|
|
4215
|
-
finally { if (
|
|
4363
|
+
finally { if (e_40) throw e_40.error; }
|
|
4216
4364
|
}
|
|
4217
4365
|
return undefined;
|
|
4218
4366
|
};
|
|
@@ -4312,7 +4460,7 @@ var XlsxPlugin = /** @class */ (function (_super) {
|
|
|
4312
4460
|
_5.trys.push([9, 15, 16, 21]);
|
|
4313
4461
|
_loop_7 = function () {
|
|
4314
4462
|
var row, parsedRowIndex, rowIndex, rowData, rowAttrs, hasRowCustomFormat, parsedRowStyle, rowStyleIndex, getInheritedStyleIndex, cells, rowComments, rowThreads, rowHyperlinks, rowCellsByColumnIndex, cellArray, seqColIndex, cellArray_1, cellArray_1_1, cell, cellRef, columnIndex, colStr, inherited, k, cell, cellRef, columnIndex, colStr, mergeRange, cellValue, hyperlink, comment, threadId, columnIndex, inherited, template, _6, _7, _8, columnIndex, hyperlink, _9, _10, _11, columnIndex, text, _12, _13, _14, columnIndex, threadId, rowSparklines, _15, _16, _17, columnIndex, sparkline, existingCell, preserveGaps, sparklineData, selection, _18, startRowIndex_2, endRowIndex_2, startColumnIndex, endColumnIndex, col, cell, value, sparklineOptions, cellData, payload;
|
|
4315
|
-
var
|
|
4463
|
+
var e_41, _19, e_42, _20, e_43, _21, e_44, _22, e_45, _23;
|
|
4316
4464
|
return __generator(this, function (_24) {
|
|
4317
4465
|
switch (_24.label) {
|
|
4318
4466
|
case 0:
|
|
@@ -4354,7 +4502,7 @@ var XlsxPlugin = /** @class */ (function (_super) {
|
|
|
4354
4502
|
cellArray = Array.isArray(cells) ? cells : [cells];
|
|
4355
4503
|
seqColIndex = 1;
|
|
4356
4504
|
try {
|
|
4357
|
-
for (cellArray_1 = (
|
|
4505
|
+
for (cellArray_1 = (e_41 = void 0, __values(cellArray)), cellArray_1_1 = cellArray_1.next(); !cellArray_1_1.done; cellArray_1_1 = cellArray_1.next()) {
|
|
4358
4506
|
cell = cellArray_1_1.value;
|
|
4359
4507
|
if (!cell || !cell.a$) {
|
|
4360
4508
|
seqColIndex++;
|
|
@@ -4381,12 +4529,12 @@ var XlsxPlugin = /** @class */ (function (_super) {
|
|
|
4381
4529
|
rowCellsByColumnIndex.set(columnIndex, cell);
|
|
4382
4530
|
}
|
|
4383
4531
|
}
|
|
4384
|
-
catch (
|
|
4532
|
+
catch (e_41_1) { e_41 = { error: e_41_1 }; }
|
|
4385
4533
|
finally {
|
|
4386
4534
|
try {
|
|
4387
4535
|
if (cellArray_1_1 && !cellArray_1_1.done && (_19 = cellArray_1.return)) _19.call(cellArray_1);
|
|
4388
4536
|
}
|
|
4389
|
-
finally { if (
|
|
4537
|
+
finally { if (e_41) throw e_41.error; }
|
|
4390
4538
|
}
|
|
4391
4539
|
// Second pass: process each cell
|
|
4392
4540
|
seqColIndex = 1;
|
|
@@ -4460,7 +4608,7 @@ var XlsxPlugin = /** @class */ (function (_super) {
|
|
|
4460
4608
|
}
|
|
4461
4609
|
if (rowHyperlinks) {
|
|
4462
4610
|
try {
|
|
4463
|
-
for (_6 = (
|
|
4611
|
+
for (_6 = (e_42 = void 0, __values(rowHyperlinks.entries())), _7 = _6.next(); !_7.done; _7 = _6.next()) {
|
|
4464
4612
|
_8 = __read(_7.value, 2), columnIndex = _8[0], hyperlink = _8[1];
|
|
4465
4613
|
if (rowData.values[columnIndex]) {
|
|
4466
4614
|
if (!((_y = rowData.values[columnIndex]) === null || _y === void 0 ? void 0 : _y.hyperlink)) {
|
|
@@ -4472,18 +4620,18 @@ var XlsxPlugin = /** @class */ (function (_super) {
|
|
|
4472
4620
|
}
|
|
4473
4621
|
}
|
|
4474
4622
|
}
|
|
4475
|
-
catch (
|
|
4623
|
+
catch (e_42_1) { e_42 = { error: e_42_1 }; }
|
|
4476
4624
|
finally {
|
|
4477
4625
|
try {
|
|
4478
4626
|
if (_7 && !_7.done && (_20 = _6.return)) _20.call(_6);
|
|
4479
4627
|
}
|
|
4480
|
-
finally { if (
|
|
4628
|
+
finally { if (e_42) throw e_42.error; }
|
|
4481
4629
|
}
|
|
4482
4630
|
hyperlinksByRow.delete(rowIndex);
|
|
4483
4631
|
}
|
|
4484
4632
|
if (rowComments) {
|
|
4485
4633
|
try {
|
|
4486
|
-
for (_9 = (
|
|
4634
|
+
for (_9 = (e_43 = void 0, __values(rowComments.entries())), _10 = _9.next(); !_10.done; _10 = _9.next()) {
|
|
4487
4635
|
_11 = __read(_10.value, 2), columnIndex = _11[0], text = _11[1];
|
|
4488
4636
|
if (rowData.values[columnIndex]) {
|
|
4489
4637
|
if (!((_z = rowData.values[columnIndex]) === null || _z === void 0 ? void 0 : _z.note)) {
|
|
@@ -4495,18 +4643,18 @@ var XlsxPlugin = /** @class */ (function (_super) {
|
|
|
4495
4643
|
}
|
|
4496
4644
|
}
|
|
4497
4645
|
}
|
|
4498
|
-
catch (
|
|
4646
|
+
catch (e_43_1) { e_43 = { error: e_43_1 }; }
|
|
4499
4647
|
finally {
|
|
4500
4648
|
try {
|
|
4501
4649
|
if (_10 && !_10.done && (_21 = _9.return)) _21.call(_9);
|
|
4502
4650
|
}
|
|
4503
|
-
finally { if (
|
|
4651
|
+
finally { if (e_43) throw e_43.error; }
|
|
4504
4652
|
}
|
|
4505
4653
|
commentsByRow_1.delete(rowIndex);
|
|
4506
4654
|
}
|
|
4507
4655
|
if (rowThreads) {
|
|
4508
4656
|
try {
|
|
4509
|
-
for (_12 = (
|
|
4657
|
+
for (_12 = (e_44 = void 0, __values(rowThreads.entries())), _13 = _12.next(); !_13.done; _13 = _12.next()) {
|
|
4510
4658
|
_14 = __read(_13.value, 2), columnIndex = _14[0], threadId = _14[1];
|
|
4511
4659
|
if (rowData.values[columnIndex]) {
|
|
4512
4660
|
if (!((_0 = rowData.values[columnIndex]) === null || _0 === void 0 ? void 0 : _0.commentThreadId)) {
|
|
@@ -4520,19 +4668,19 @@ var XlsxPlugin = /** @class */ (function (_super) {
|
|
|
4520
4668
|
}
|
|
4521
4669
|
}
|
|
4522
4670
|
}
|
|
4523
|
-
catch (
|
|
4671
|
+
catch (e_44_1) { e_44 = { error: e_44_1 }; }
|
|
4524
4672
|
finally {
|
|
4525
4673
|
try {
|
|
4526
4674
|
if (_13 && !_13.done && (_22 = _12.return)) _22.call(_12);
|
|
4527
4675
|
}
|
|
4528
|
-
finally { if (
|
|
4676
|
+
finally { if (e_44) throw e_44.error; }
|
|
4529
4677
|
}
|
|
4530
4678
|
threadsByRow_1.delete(rowIndex);
|
|
4531
4679
|
}
|
|
4532
4680
|
rowSparklines = sparklinesByRow.get(rowIndex);
|
|
4533
4681
|
if (rowSparklines) {
|
|
4534
4682
|
try {
|
|
4535
|
-
for (_15 = (
|
|
4683
|
+
for (_15 = (e_45 = void 0, __values(rowSparklines.entries())), _16 = _15.next(); !_16.done; _16 = _15.next()) {
|
|
4536
4684
|
_17 = __read(_16.value, 2), columnIndex = _17[0], sparkline = _17[1];
|
|
4537
4685
|
existingCell = rowData.values[columnIndex];
|
|
4538
4686
|
// Only set formula if cell doesn't already have one
|
|
@@ -4627,12 +4775,12 @@ var XlsxPlugin = /** @class */ (function (_super) {
|
|
|
4627
4775
|
rowData.values[columnIndex] = cellData;
|
|
4628
4776
|
}
|
|
4629
4777
|
}
|
|
4630
|
-
catch (
|
|
4778
|
+
catch (e_45_1) { e_45 = { error: e_45_1 }; }
|
|
4631
4779
|
finally {
|
|
4632
4780
|
try {
|
|
4633
4781
|
if (_16 && !_16.done && (_23 = _15.return)) _23.call(_15);
|
|
4634
4782
|
}
|
|
4635
|
-
finally { if (
|
|
4783
|
+
finally { if (e_45) throw e_45.error; }
|
|
4636
4784
|
}
|
|
4637
4785
|
sparklinesByRow.delete(rowIndex);
|
|
4638
4786
|
}
|
|
@@ -4667,8 +4815,8 @@ var XlsxPlugin = /** @class */ (function (_super) {
|
|
|
4667
4815
|
return [3 /*break*/, 10];
|
|
4668
4816
|
case 14: return [3 /*break*/, 21];
|
|
4669
4817
|
case 15:
|
|
4670
|
-
|
|
4671
|
-
|
|
4818
|
+
e_37_1 = _5.sent();
|
|
4819
|
+
e_37 = { error: e_37_1 };
|
|
4672
4820
|
return [3 /*break*/, 21];
|
|
4673
4821
|
case 16:
|
|
4674
4822
|
_5.trys.push([16, , 19, 20]);
|
|
@@ -4679,7 +4827,7 @@ var XlsxPlugin = /** @class */ (function (_super) {
|
|
|
4679
4827
|
_5.label = 18;
|
|
4680
4828
|
case 18: return [3 /*break*/, 20];
|
|
4681
4829
|
case 19:
|
|
4682
|
-
if (
|
|
4830
|
+
if (e_37) throw e_37.error;
|
|
4683
4831
|
return [7 /*endfinally*/];
|
|
4684
4832
|
case 20: return [7 /*endfinally*/];
|
|
4685
4833
|
case 21:
|
|
@@ -4712,14 +4860,14 @@ var XlsxPlugin = /** @class */ (function (_super) {
|
|
|
4712
4860
|
return [3 /*break*/, 23];
|
|
4713
4861
|
case 27: return [3 /*break*/, 30];
|
|
4714
4862
|
case 28:
|
|
4715
|
-
|
|
4716
|
-
|
|
4863
|
+
e_38_1 = _5.sent();
|
|
4864
|
+
e_38 = { error: e_38_1 };
|
|
4717
4865
|
return [3 /*break*/, 30];
|
|
4718
4866
|
case 29:
|
|
4719
4867
|
try {
|
|
4720
4868
|
if (_m && !_m.done && (_p = _l.return)) _p.call(_l);
|
|
4721
4869
|
}
|
|
4722
|
-
finally { if (
|
|
4870
|
+
finally { if (e_38) throw e_38.error; }
|
|
4723
4871
|
return [7 /*endfinally*/];
|
|
4724
4872
|
case 30:
|
|
4725
4873
|
finalPayload = flushChunk(true);
|
|
@@ -4736,58 +4884,180 @@ var XlsxPlugin = /** @class */ (function (_super) {
|
|
|
4736
4884
|
};
|
|
4737
4885
|
XlsxPlugin.prototype.getDrawings = function () {
|
|
4738
4886
|
return __awaiter(this, void 0, void 0, function () {
|
|
4739
|
-
var workSheets, allDrawings, workSheets_3, workSheets_3_1, element, sheetId, rid, features, sheet_data, drawings,
|
|
4740
|
-
var
|
|
4741
|
-
return __generator(this, function (
|
|
4742
|
-
switch (
|
|
4887
|
+
var workSheets, allDrawings, workSheets_3, workSheets_3_1, element, sheetId, rid, features, sheet_data, drawings, _a, _b, _c, _d, e_46_1;
|
|
4888
|
+
var e_46, _e;
|
|
4889
|
+
return __generator(this, function (_f) {
|
|
4890
|
+
switch (_f.label) {
|
|
4743
4891
|
case 0:
|
|
4744
4892
|
workSheets = this._getSheets();
|
|
4745
4893
|
allDrawings = [];
|
|
4746
|
-
|
|
4894
|
+
_f.label = 1;
|
|
4747
4895
|
case 1:
|
|
4748
|
-
|
|
4896
|
+
_f.trys.push([1, 9, 10, 11]);
|
|
4749
4897
|
workSheets_3 = __values(workSheets), workSheets_3_1 = workSheets_3.next();
|
|
4750
|
-
|
|
4898
|
+
_f.label = 2;
|
|
4751
4899
|
case 2:
|
|
4752
|
-
if (!!workSheets_3_1.done) return [3 /*break*/,
|
|
4900
|
+
if (!!workSheets_3_1.done) return [3 /*break*/, 8];
|
|
4753
4901
|
element = workSheets_3_1.value;
|
|
4754
4902
|
sheetId = Number(element.a$.sheetId);
|
|
4755
4903
|
rid = element.a$["r:id"];
|
|
4756
4904
|
features = this.sheetFeatures.get(rid);
|
|
4757
|
-
if (features && !features.drawing) {
|
|
4758
|
-
return [3 /*break*/,
|
|
4905
|
+
if (features && !features.drawing && !features.controls) {
|
|
4906
|
+
return [3 /*break*/, 7];
|
|
4759
4907
|
}
|
|
4760
4908
|
return [4 /*yield*/, this.getSheetData(rid)];
|
|
4761
4909
|
case 3:
|
|
4762
|
-
sheet_data =
|
|
4910
|
+
sheet_data = _f.sent();
|
|
4911
|
+
if (!(!features || features.drawing)) return [3 /*break*/, 5];
|
|
4763
4912
|
return [4 /*yield*/, this._getDrawings(rid, sheetId, sheet_data)];
|
|
4764
4913
|
case 4:
|
|
4765
|
-
drawings =
|
|
4914
|
+
drawings = _f.sent();
|
|
4766
4915
|
allDrawings.push.apply(allDrawings, __spreadArray([], __read(drawings), false));
|
|
4767
|
-
|
|
4916
|
+
_f.label = 5;
|
|
4768
4917
|
case 5:
|
|
4918
|
+
if (!(!features || features.controls)) return [3 /*break*/, 7];
|
|
4919
|
+
_b = (_a = allDrawings.push).apply;
|
|
4920
|
+
_c = [allDrawings];
|
|
4921
|
+
_d = [[]];
|
|
4922
|
+
return [4 /*yield*/, this._getFormControls(rid, sheetId, sheet_data)];
|
|
4923
|
+
case 6:
|
|
4924
|
+
_b.apply(_a, _c.concat([__spreadArray.apply(void 0, _d.concat([__read.apply(void 0, [(_f.sent())]), false]))]));
|
|
4925
|
+
_f.label = 7;
|
|
4926
|
+
case 7:
|
|
4769
4927
|
workSheets_3_1 = workSheets_3.next();
|
|
4770
4928
|
return [3 /*break*/, 2];
|
|
4771
|
-
case
|
|
4929
|
+
case 8: return [3 /*break*/, 11];
|
|
4930
|
+
case 9:
|
|
4931
|
+
e_46_1 = _f.sent();
|
|
4932
|
+
e_46 = { error: e_46_1 };
|
|
4933
|
+
return [3 /*break*/, 11];
|
|
4934
|
+
case 10:
|
|
4935
|
+
try {
|
|
4936
|
+
if (workSheets_3_1 && !workSheets_3_1.done && (_e = workSheets_3.return)) _e.call(workSheets_3);
|
|
4937
|
+
}
|
|
4938
|
+
finally { if (e_46) throw e_46.error; }
|
|
4939
|
+
return [7 /*endfinally*/];
|
|
4940
|
+
case 11: return [2 /*return*/, allDrawings];
|
|
4941
|
+
}
|
|
4942
|
+
});
|
|
4943
|
+
});
|
|
4944
|
+
};
|
|
4945
|
+
/**
|
|
4946
|
+
* Form controls: `<controls><control r:id>` → `xl/ctrlProps/ctrlPropN.xml`
|
|
4947
|
+
* (+ the caption from the sheet's legacy VML part), as `formControl`
|
|
4948
|
+
* embeds. Nothing is rendered interactively — they round-trip.
|
|
4949
|
+
*/
|
|
4950
|
+
XlsxPlugin.prototype._getFormControls = function (rid, sheetId, sheetData) {
|
|
4951
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
4952
|
+
var controls, target, sheetPath, sheetRelPath, relTargets, sheetRels, _a, _b, list, _c, _d, rel, id, relTarget, _e, ctrlProps, controls_1, controls_1_1, control, relTarget, xml, _f, e_47_1, captions, legacyRelId, vmlTarget, _g, _h;
|
|
4953
|
+
var e_48, _j, e_47, _k;
|
|
4954
|
+
var _l, _m;
|
|
4955
|
+
return __generator(this, function (_o) {
|
|
4956
|
+
switch (_o.label) {
|
|
4957
|
+
case 0:
|
|
4958
|
+
controls = readWorksheetControls(sheetData);
|
|
4959
|
+
if (!controls.length)
|
|
4960
|
+
return [2 /*return*/, []];
|
|
4961
|
+
target = this.relations[rid].target;
|
|
4962
|
+
sheetPath = target.startsWith("/xl")
|
|
4963
|
+
? target.replace(/^\//gi, "")
|
|
4964
|
+
: "xl/".concat(target);
|
|
4965
|
+
sheetRelPath = sheetPath.replace("worksheets", "worksheets/_rels") + ".rels";
|
|
4966
|
+
relTargets = new Map();
|
|
4967
|
+
_o.label = 1;
|
|
4968
|
+
case 1:
|
|
4969
|
+
_o.trys.push([1, 3, , 4]);
|
|
4970
|
+
_b = (_a = this.xmlParser).parse;
|
|
4971
|
+
return [4 /*yield*/, this.zipParser.getText(sheetRelPath)];
|
|
4972
|
+
case 2:
|
|
4973
|
+
sheetRels = _b.apply(_a, [_o.sent()]);
|
|
4974
|
+
list = get(sheetRels, "Relationships.Relationship");
|
|
4975
|
+
try {
|
|
4976
|
+
for (_c = __values(Array.isArray(list) ? list : list ? [list] : []), _d = _c.next(); !_d.done; _d = _c.next()) {
|
|
4977
|
+
rel = _d.value;
|
|
4978
|
+
id = (_l = rel === null || rel === void 0 ? void 0 : rel.a$) === null || _l === void 0 ? void 0 : _l.Id;
|
|
4979
|
+
relTarget = (_m = rel === null || rel === void 0 ? void 0 : rel.a$) === null || _m === void 0 ? void 0 : _m.Target;
|
|
4980
|
+
if (typeof id === "string" && typeof relTarget === "string") {
|
|
4981
|
+
relTargets.set(id, relTarget);
|
|
4982
|
+
}
|
|
4983
|
+
}
|
|
4984
|
+
}
|
|
4985
|
+
catch (e_48_1) { e_48 = { error: e_48_1 }; }
|
|
4986
|
+
finally {
|
|
4987
|
+
try {
|
|
4988
|
+
if (_d && !_d.done && (_j = _c.return)) _j.call(_c);
|
|
4989
|
+
}
|
|
4990
|
+
finally { if (e_48) throw e_48.error; }
|
|
4991
|
+
}
|
|
4992
|
+
return [3 /*break*/, 4];
|
|
4993
|
+
case 3:
|
|
4994
|
+
_e = _o.sent();
|
|
4995
|
+
return [2 /*return*/, []];
|
|
4996
|
+
case 4:
|
|
4997
|
+
ctrlProps = new Map();
|
|
4998
|
+
_o.label = 5;
|
|
4999
|
+
case 5:
|
|
5000
|
+
_o.trys.push([5, 12, 13, 14]);
|
|
5001
|
+
controls_1 = __values(controls), controls_1_1 = controls_1.next();
|
|
5002
|
+
_o.label = 6;
|
|
5003
|
+
case 6:
|
|
5004
|
+
if (!!controls_1_1.done) return [3 /*break*/, 11];
|
|
5005
|
+
control = controls_1_1.value;
|
|
5006
|
+
if (!control.relId || ctrlProps.has(control.relId))
|
|
5007
|
+
return [3 /*break*/, 10];
|
|
5008
|
+
relTarget = relTargets.get(control.relId);
|
|
5009
|
+
if (!relTarget)
|
|
5010
|
+
return [3 /*break*/, 10];
|
|
5011
|
+
_o.label = 7;
|
|
4772
5012
|
case 7:
|
|
4773
|
-
|
|
4774
|
-
|
|
4775
|
-
return [3 /*break*/, 9];
|
|
5013
|
+
_o.trys.push([7, 9, , 10]);
|
|
5014
|
+
return [4 /*yield*/, this.zipParser.getText(this.resolveRelationshipTarget(sheetPath, relTarget))];
|
|
4776
5015
|
case 8:
|
|
5016
|
+
xml = _o.sent();
|
|
5017
|
+
ctrlProps.set(control.relId, parseFormControlPr(this.xmlPreserveValueParser.parse(xml)));
|
|
5018
|
+
return [3 /*break*/, 10];
|
|
5019
|
+
case 9:
|
|
5020
|
+
_f = _o.sent();
|
|
5021
|
+
return [3 /*break*/, 10];
|
|
5022
|
+
case 10:
|
|
5023
|
+
controls_1_1 = controls_1.next();
|
|
5024
|
+
return [3 /*break*/, 6];
|
|
5025
|
+
case 11: return [3 /*break*/, 14];
|
|
5026
|
+
case 12:
|
|
5027
|
+
e_47_1 = _o.sent();
|
|
5028
|
+
e_47 = { error: e_47_1 };
|
|
5029
|
+
return [3 /*break*/, 14];
|
|
5030
|
+
case 13:
|
|
4777
5031
|
try {
|
|
4778
|
-
if (
|
|
5032
|
+
if (controls_1_1 && !controls_1_1.done && (_k = controls_1.return)) _k.call(controls_1);
|
|
4779
5033
|
}
|
|
4780
5034
|
finally { if (e_47) throw e_47.error; }
|
|
4781
5035
|
return [7 /*endfinally*/];
|
|
4782
|
-
case
|
|
5036
|
+
case 14:
|
|
5037
|
+
captions = new Map();
|
|
5038
|
+
legacyRelId = readLegacyDrawingRelId(sheetData);
|
|
5039
|
+
vmlTarget = legacyRelId ? relTargets.get(legacyRelId) : undefined;
|
|
5040
|
+
if (!vmlTarget) return [3 /*break*/, 18];
|
|
5041
|
+
_o.label = 15;
|
|
5042
|
+
case 15:
|
|
5043
|
+
_o.trys.push([15, 17, , 18]);
|
|
5044
|
+
_g = parseVmlControlCaptions;
|
|
5045
|
+
return [4 /*yield*/, this.zipParser.getText(this.resolveRelationshipTarget(sheetPath, vmlTarget))];
|
|
5046
|
+
case 16:
|
|
5047
|
+
captions = _g.apply(void 0, [_o.sent()]);
|
|
5048
|
+
return [3 /*break*/, 18];
|
|
5049
|
+
case 17:
|
|
5050
|
+
_h = _o.sent();
|
|
5051
|
+
return [3 /*break*/, 18];
|
|
5052
|
+
case 18: return [2 /*return*/, buildFormControlEmbeds({ controls: controls, sheetId: sheetId, ctrlProps: ctrlProps, captions: captions })];
|
|
4783
5053
|
}
|
|
4784
5054
|
});
|
|
4785
5055
|
});
|
|
4786
5056
|
};
|
|
4787
5057
|
XlsxPlugin.prototype.getCharts = function () {
|
|
4788
5058
|
return __awaiter(this, void 0, void 0, function () {
|
|
4789
|
-
var allCharts, workSheets, workSheets_4, workSheets_4_1, element, sheetId, rid, features, sheet_data, charts,
|
|
4790
|
-
var
|
|
5059
|
+
var allCharts, workSheets, workSheets_4, workSheets_4_1, element, sheetId, rid, features, sheet_data, charts, e_49_1;
|
|
5060
|
+
var e_49, _a;
|
|
4791
5061
|
return __generator(this, function (_b) {
|
|
4792
5062
|
switch (_b.label) {
|
|
4793
5063
|
case 0:
|
|
@@ -4820,14 +5090,14 @@ var XlsxPlugin = /** @class */ (function (_super) {
|
|
|
4820
5090
|
return [3 /*break*/, 2];
|
|
4821
5091
|
case 6: return [3 /*break*/, 9];
|
|
4822
5092
|
case 7:
|
|
4823
|
-
|
|
4824
|
-
|
|
5093
|
+
e_49_1 = _b.sent();
|
|
5094
|
+
e_49 = { error: e_49_1 };
|
|
4825
5095
|
return [3 /*break*/, 9];
|
|
4826
5096
|
case 8:
|
|
4827
5097
|
try {
|
|
4828
5098
|
if (workSheets_4_1 && !workSheets_4_1.done && (_a = workSheets_4.return)) _a.call(workSheets_4);
|
|
4829
5099
|
}
|
|
4830
|
-
finally { if (
|
|
5100
|
+
finally { if (e_49) throw e_49.error; }
|
|
4831
5101
|
return [7 /*endfinally*/];
|
|
4832
5102
|
case 9: return [2 /*return*/, allCharts];
|
|
4833
5103
|
}
|
|
@@ -4842,8 +5112,8 @@ var XlsxPlugin = /** @class */ (function (_super) {
|
|
|
4842
5112
|
*/
|
|
4843
5113
|
XlsxPlugin.prototype.getPivotTables = function () {
|
|
4844
5114
|
return __awaiter(this, void 0, void 0, function () {
|
|
4845
|
-
var parsePivotTablesForSheet, all, workSheets, sheetNameToId, workSheets_5, workSheets_5_1, ws, name_9, id, pivotIdCounter, nextPivotId, workSheets_6, workSheets_6_1, element, sheetId, rid, target, path, sheetRelPath, sheetRelContent, _a, sheetRels, relList, relArray, pivotRels, pivots,
|
|
4846
|
-
var
|
|
5115
|
+
var parsePivotTablesForSheet, all, workSheets, sheetNameToId, workSheets_5, workSheets_5_1, ws, name_9, id, pivotIdCounter, nextPivotId, workSheets_6, workSheets_6_1, element, sheetId, rid, target, path, sheetRelPath, sheetRelContent, _a, sheetRels, relList, relArray, pivotRels, pivots, e_50_1;
|
|
5116
|
+
var e_51, _b, e_50, _c;
|
|
4847
5117
|
var _d, _e, _f;
|
|
4848
5118
|
return __generator(this, function (_g) {
|
|
4849
5119
|
switch (_g.label) {
|
|
@@ -4862,12 +5132,12 @@ var XlsxPlugin = /** @class */ (function (_super) {
|
|
|
4862
5132
|
sheetNameToId.set(name_9, id);
|
|
4863
5133
|
}
|
|
4864
5134
|
}
|
|
4865
|
-
catch (
|
|
5135
|
+
catch (e_51_1) { e_51 = { error: e_51_1 }; }
|
|
4866
5136
|
finally {
|
|
4867
5137
|
try {
|
|
4868
5138
|
if (workSheets_5_1 && !workSheets_5_1.done && (_b = workSheets_5.return)) _b.call(workSheets_5);
|
|
4869
5139
|
}
|
|
4870
|
-
finally { if (
|
|
5140
|
+
finally { if (e_51) throw e_51.error; }
|
|
4871
5141
|
}
|
|
4872
5142
|
pivotIdCounter = 1;
|
|
4873
5143
|
nextPivotId = function () { return "imported-pivot-".concat(pivotIdCounter++); };
|
|
@@ -4936,14 +5206,14 @@ var XlsxPlugin = /** @class */ (function (_super) {
|
|
|
4936
5206
|
return [3 /*break*/, 3];
|
|
4937
5207
|
case 10: return [3 /*break*/, 13];
|
|
4938
5208
|
case 11:
|
|
4939
|
-
|
|
4940
|
-
|
|
5209
|
+
e_50_1 = _g.sent();
|
|
5210
|
+
e_50 = { error: e_50_1 };
|
|
4941
5211
|
return [3 /*break*/, 13];
|
|
4942
5212
|
case 12:
|
|
4943
5213
|
try {
|
|
4944
5214
|
if (workSheets_6_1 && !workSheets_6_1.done && (_c = workSheets_6.return)) _c.call(workSheets_6);
|
|
4945
5215
|
}
|
|
4946
|
-
finally { if (
|
|
5216
|
+
finally { if (e_50) throw e_50.error; }
|
|
4947
5217
|
return [7 /*endfinally*/];
|
|
4948
5218
|
case 13: return [2 /*return*/, all];
|
|
4949
5219
|
}
|
|
@@ -4960,8 +5230,8 @@ var XlsxPlugin = /** @class */ (function (_super) {
|
|
|
4960
5230
|
*/
|
|
4961
5231
|
XlsxPlugin.prototype.getPowerQuery = function () {
|
|
4962
5232
|
return __awaiter(this, void 0, void 0, function () {
|
|
4963
|
-
var customXmlParts, connectionsXml, _a, _b, rel, type, itemPath, itemXml, propsXml, itemRelsPath, itemRels, _c, _d, relList, relArray, propsRel, propsPath, path,
|
|
4964
|
-
var
|
|
5233
|
+
var customXmlParts, connectionsXml, _a, _b, rel, type, itemPath, itemXml, propsXml, itemRelsPath, itemRels, _c, _d, relList, relArray, propsRel, propsPath, path, e_52_1, queryTables, _e, _f, element, rid, target, sheetPath, sheetRelsPath, sheetRels, _g, _h, relList, relArray, relArray_1, relArray_1_1, r, relType, tablePath, tableRelsPath, tableRels, _j, _k, tableRelList, tableRelArray, qtRel, qtPath, partXml, tableData, _l, _m, tableDefinition, attrs, tableTitle, colDefs, colArray, columns, e_53_1, e_54_1, parts;
|
|
5234
|
+
var e_52, _o, e_54, _p, e_53, _q;
|
|
4965
5235
|
var _r, _s, _t, _u, _v, _w;
|
|
4966
5236
|
return __generator(this, function (_x) {
|
|
4967
5237
|
switch (_x.label) {
|
|
@@ -5023,14 +5293,14 @@ var XlsxPlugin = /** @class */ (function (_super) {
|
|
|
5023
5293
|
return [3 /*break*/, 2];
|
|
5024
5294
|
case 10: return [3 /*break*/, 13];
|
|
5025
5295
|
case 11:
|
|
5026
|
-
|
|
5027
|
-
|
|
5296
|
+
e_52_1 = _x.sent();
|
|
5297
|
+
e_52 = { error: e_52_1 };
|
|
5028
5298
|
return [3 /*break*/, 13];
|
|
5029
5299
|
case 12:
|
|
5030
5300
|
try {
|
|
5031
5301
|
if (_b && !_b.done && (_o = _a.return)) _o.call(_a);
|
|
5032
5302
|
}
|
|
5033
|
-
finally { if (
|
|
5303
|
+
finally { if (e_52) throw e_52.error; }
|
|
5034
5304
|
return [7 /*endfinally*/];
|
|
5035
5305
|
case 13:
|
|
5036
5306
|
queryTables = [];
|
|
@@ -5059,7 +5329,7 @@ var XlsxPlugin = /** @class */ (function (_super) {
|
|
|
5059
5329
|
_x.label = 17;
|
|
5060
5330
|
case 17:
|
|
5061
5331
|
_x.trys.push([17, 24, 25, 26]);
|
|
5062
|
-
relArray_1 = (
|
|
5332
|
+
relArray_1 = (e_53 = void 0, __values(relArray)), relArray_1_1 = relArray_1.next();
|
|
5063
5333
|
_x.label = 18;
|
|
5064
5334
|
case 18:
|
|
5065
5335
|
if (!!relArray_1_1.done) return [3 /*break*/, 23];
|
|
@@ -5121,28 +5391,28 @@ var XlsxPlugin = /** @class */ (function (_super) {
|
|
|
5121
5391
|
return [3 /*break*/, 18];
|
|
5122
5392
|
case 23: return [3 /*break*/, 26];
|
|
5123
5393
|
case 24:
|
|
5124
|
-
|
|
5125
|
-
|
|
5394
|
+
e_53_1 = _x.sent();
|
|
5395
|
+
e_53 = { error: e_53_1 };
|
|
5126
5396
|
return [3 /*break*/, 26];
|
|
5127
5397
|
case 25:
|
|
5128
5398
|
try {
|
|
5129
5399
|
if (relArray_1_1 && !relArray_1_1.done && (_q = relArray_1.return)) _q.call(relArray_1);
|
|
5130
5400
|
}
|
|
5131
|
-
finally { if (
|
|
5401
|
+
finally { if (e_53) throw e_53.error; }
|
|
5132
5402
|
return [7 /*endfinally*/];
|
|
5133
5403
|
case 26:
|
|
5134
5404
|
_f = _e.next();
|
|
5135
5405
|
return [3 /*break*/, 15];
|
|
5136
5406
|
case 27: return [3 /*break*/, 30];
|
|
5137
5407
|
case 28:
|
|
5138
|
-
|
|
5139
|
-
|
|
5408
|
+
e_54_1 = _x.sent();
|
|
5409
|
+
e_54 = { error: e_54_1 };
|
|
5140
5410
|
return [3 /*break*/, 30];
|
|
5141
5411
|
case 29:
|
|
5142
5412
|
try {
|
|
5143
5413
|
if (_f && !_f.done && (_p = _e.return)) _p.call(_e);
|
|
5144
5414
|
}
|
|
5145
|
-
finally { if (
|
|
5415
|
+
finally { if (e_54) throw e_54.error; }
|
|
5146
5416
|
return [7 /*endfinally*/];
|
|
5147
5417
|
case 30:
|
|
5148
5418
|
parts = {};
|
|
@@ -5159,8 +5429,8 @@ var XlsxPlugin = /** @class */ (function (_super) {
|
|
|
5159
5429
|
};
|
|
5160
5430
|
XlsxPlugin.prototype.getConditionalFormatting = function () {
|
|
5161
5431
|
return __awaiter(this, void 0, void 0, function () {
|
|
5162
|
-
var conditionalFormatting, _a, _b, element, _c, _d, _e, _f,
|
|
5163
|
-
var
|
|
5432
|
+
var conditionalFormatting, _a, _b, element, _c, _d, _e, _f, e_55_1;
|
|
5433
|
+
var e_55, _g;
|
|
5164
5434
|
return __generator(this, function (_h) {
|
|
5165
5435
|
switch (_h.label) {
|
|
5166
5436
|
case 0:
|
|
@@ -5185,14 +5455,14 @@ var XlsxPlugin = /** @class */ (function (_super) {
|
|
|
5185
5455
|
return [3 /*break*/, 2];
|
|
5186
5456
|
case 5: return [3 /*break*/, 8];
|
|
5187
5457
|
case 6:
|
|
5188
|
-
|
|
5189
|
-
|
|
5458
|
+
e_55_1 = _h.sent();
|
|
5459
|
+
e_55 = { error: e_55_1 };
|
|
5190
5460
|
return [3 /*break*/, 8];
|
|
5191
5461
|
case 7:
|
|
5192
5462
|
try {
|
|
5193
5463
|
if (_b && !_b.done && (_g = _a.return)) _g.call(_a);
|
|
5194
5464
|
}
|
|
5195
|
-
finally { if (
|
|
5465
|
+
finally { if (e_55) throw e_55.error; }
|
|
5196
5466
|
return [7 /*endfinally*/];
|
|
5197
5467
|
case 8: return [2 /*return*/, conditionalFormatting];
|
|
5198
5468
|
}
|
|
@@ -5232,8 +5502,8 @@ var XlsxPlugin = /** @class */ (function (_super) {
|
|
|
5232
5502
|
};
|
|
5233
5503
|
XlsxPlugin.prototype.getDataValidations = function () {
|
|
5234
5504
|
return __awaiter(this, void 0, void 0, function () {
|
|
5235
|
-
var dataValidations, _a, _b, element, _c, _d, _e, _f,
|
|
5236
|
-
var
|
|
5505
|
+
var dataValidations, _a, _b, element, _c, _d, _e, _f, e_56_1;
|
|
5506
|
+
var e_56, _g;
|
|
5237
5507
|
return __generator(this, function (_h) {
|
|
5238
5508
|
switch (_h.label) {
|
|
5239
5509
|
case 0:
|
|
@@ -5258,14 +5528,14 @@ var XlsxPlugin = /** @class */ (function (_super) {
|
|
|
5258
5528
|
return [3 /*break*/, 2];
|
|
5259
5529
|
case 5: return [3 /*break*/, 8];
|
|
5260
5530
|
case 6:
|
|
5261
|
-
|
|
5262
|
-
|
|
5531
|
+
e_56_1 = _h.sent();
|
|
5532
|
+
e_56 = { error: e_56_1 };
|
|
5263
5533
|
return [3 /*break*/, 8];
|
|
5264
5534
|
case 7:
|
|
5265
5535
|
try {
|
|
5266
5536
|
if (_b && !_b.done && (_g = _a.return)) _g.call(_a);
|
|
5267
5537
|
}
|
|
5268
|
-
finally { if (
|
|
5538
|
+
finally { if (e_56) throw e_56.error; }
|
|
5269
5539
|
return [7 /*endfinally*/];
|
|
5270
5540
|
case 8: return [2 /*return*/, dataValidations];
|
|
5271
5541
|
}
|
|
@@ -5305,6 +5575,19 @@ var XlsxPlugin = /** @class */ (function (_super) {
|
|
|
5305
5575
|
});
|
|
5306
5576
|
});
|
|
5307
5577
|
};
|
|
5578
|
+
/**
|
|
5579
|
+
* Allow-edit ranges (`<protectedRanges>/<protectedRange>`) in the model the
|
|
5580
|
+
* `protect-range` command writes: `protectedRangeId` = the source `name`,
|
|
5581
|
+
* `range` = the first `sqref` area plus `sheetId`. Available after
|
|
5582
|
+
* `getSheets()`; sheet-level `<sheetProtection>` rides `Sheet.sheetProtection`.
|
|
5583
|
+
*/
|
|
5584
|
+
XlsxPlugin.prototype.getProtectedRanges = function (sheetId) {
|
|
5585
|
+
var _a;
|
|
5586
|
+
if (sheetId !== undefined) {
|
|
5587
|
+
return (_a = this.protectedRangesBySheet.get(sheetId)) !== null && _a !== void 0 ? _a : [];
|
|
5588
|
+
}
|
|
5589
|
+
return Array.from(this.protectedRangesBySheet.values()).flat();
|
|
5590
|
+
};
|
|
5308
5591
|
XlsxPlugin.prototype.getNamedRanges = function () {
|
|
5309
5592
|
return this.namedRanges;
|
|
5310
5593
|
};
|
|
@@ -5317,7 +5600,7 @@ var XlsxPlugin = /** @class */ (function (_super) {
|
|
|
5317
5600
|
XlsxPlugin.prototype.getProperties = function () {
|
|
5318
5601
|
return __awaiter(this, void 0, void 0, function () {
|
|
5319
5602
|
var props, tryRead, coreXml, parsed, root, textOf_1, appXml, parsed, root, textOf, _a, _b, key;
|
|
5320
|
-
var
|
|
5603
|
+
var e_57, _c;
|
|
5321
5604
|
var _this = this;
|
|
5322
5605
|
var _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q;
|
|
5323
5606
|
return __generator(this, function (_r) {
|
|
@@ -5401,12 +5684,12 @@ var XlsxPlugin = /** @class */ (function (_super) {
|
|
|
5401
5684
|
}
|
|
5402
5685
|
}
|
|
5403
5686
|
}
|
|
5404
|
-
catch (
|
|
5687
|
+
catch (e_57_1) { e_57 = { error: e_57_1 }; }
|
|
5405
5688
|
finally {
|
|
5406
5689
|
try {
|
|
5407
5690
|
if (_b && !_b.done && (_c = _a.return)) _c.call(_a);
|
|
5408
5691
|
}
|
|
5409
|
-
finally { if (
|
|
5692
|
+
finally { if (e_57) throw e_57.error; }
|
|
5410
5693
|
}
|
|
5411
5694
|
return [2 /*return*/, Object.keys(props).length ? props : undefined];
|
|
5412
5695
|
}
|
|
@@ -5422,8 +5705,8 @@ var XlsxPlugin = /** @class */ (function (_super) {
|
|
|
5422
5705
|
};
|
|
5423
5706
|
XlsxPlugin.prototype.getSlicersForWorkbook = function () {
|
|
5424
5707
|
return __awaiter(this, void 0, void 0, function () {
|
|
5425
|
-
var slicers, workbookRelsPath, workbookRelsContent, workbookRels, relationships, relationshipsArray, slicerRels, slicerCacheRels, toArray_1, slicerPathToSheetIds_2, addSlicerPath, slicerRels_1, slicerRels_1_1, slicerRel, target, workSheets, sheetRelContext, workSheets_7, workSheets_7_1, sheet, rid, currentSheetId, relation, sheetPath, sheetRelPath, sheetRelContent, sheetRels, sheetRelations, sheetRelationsArray, drawingRel, drawingPath, sheetSlicerRels, sheetSlicerRels_1, sheetSlicerRels_1_1, rel, target, _a,
|
|
5426
|
-
var
|
|
5708
|
+
var slicers, workbookRelsPath, workbookRelsContent, workbookRels, relationships, relationshipsArray, slicerRels, slicerCacheRels, toArray_1, slicerPathToSheetIds_2, addSlicerPath, slicerRels_1, slicerRels_1_1, slicerRel, target, workSheets, sheetRelContext, workSheets_7, workSheets_7_1, sheet, rid, currentSheetId, relation, sheetPath, sheetRelPath, sheetRelContent, sheetRels, sheetRelations, sheetRelationsArray, drawingRel, drawingPath, sheetSlicerRels, sheetSlicerRels_1, sheetSlicerRels_1_1, rel, target, _a, e_58_1, slicerCacheMap, slicerCacheRels_1, slicerCacheRels_1_1, cacheRel, cachePath, cacheContent, cacheXml, cacheDefinition, cacheName, title, extList, extArray, extArray_2, extArray_2_1, ext, tableSlicerCache, tableIdRaw, tableId, columnIndex, err_6, e_59_1, slicerPathToSheetIds_1, slicerPathToSheetIds_1_1, _b, slicerPath, linkedSheetIds, slicerContent, slicerXml, slicerDefinitionNode, slicerDefinition, slicerAttrs, cacheName, caption, cacheInfo, position, sheetId, workSheets_8, workSheets_8_1, sheet, currentSheetId, context, drawingContent, drawingXml, wsDr, anchors, firstSlicerAnchor, anchors_2, anchors_2_1, anchor, alternateContent, choices, graphicFrames, graphicFrames_1, graphicFrames_1_1, graphicFrame, graphicData, uri, isSlicerGraphic, nvGraphicFramePr, cNvPr, shapeName, e_60_1, slicer, err_7, e_61_1, err_8;
|
|
5709
|
+
var e_62, _c, e_58, _d, e_63, _e, e_59, _f, e_64, _g, e_61, _h, e_60, _j, e_65, _k, e_66, _l;
|
|
5427
5710
|
var _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z;
|
|
5428
5711
|
return __generator(this, function (_0) {
|
|
5429
5712
|
switch (_0.label) {
|
|
@@ -5472,12 +5755,12 @@ var XlsxPlugin = /** @class */ (function (_super) {
|
|
|
5472
5755
|
addSlicerPath(this.resolveSheetPath(target));
|
|
5473
5756
|
}
|
|
5474
5757
|
}
|
|
5475
|
-
catch (
|
|
5758
|
+
catch (e_62_1) { e_62 = { error: e_62_1 }; }
|
|
5476
5759
|
finally {
|
|
5477
5760
|
try {
|
|
5478
5761
|
if (slicerRels_1_1 && !slicerRels_1_1.done && (_c = slicerRels_1.return)) _c.call(slicerRels_1);
|
|
5479
5762
|
}
|
|
5480
|
-
finally { if (
|
|
5763
|
+
finally { if (e_62) throw e_62.error; }
|
|
5481
5764
|
}
|
|
5482
5765
|
workSheets = this._getSheets();
|
|
5483
5766
|
sheetRelContext = new Map();
|
|
@@ -5524,7 +5807,7 @@ var XlsxPlugin = /** @class */ (function (_super) {
|
|
|
5524
5807
|
"http://schemas.microsoft.com/office/2007/relationships/slicer";
|
|
5525
5808
|
});
|
|
5526
5809
|
try {
|
|
5527
|
-
for (sheetSlicerRels_1 = (
|
|
5810
|
+
for (sheetSlicerRels_1 = (e_63 = void 0, __values(sheetSlicerRels)), sheetSlicerRels_1_1 = sheetSlicerRels_1.next(); !sheetSlicerRels_1_1.done; sheetSlicerRels_1_1 = sheetSlicerRels_1.next()) {
|
|
5528
5811
|
rel = sheetSlicerRels_1_1.value;
|
|
5529
5812
|
target = (_r = rel === null || rel === void 0 ? void 0 : rel.a$) === null || _r === void 0 ? void 0 : _r.Target;
|
|
5530
5813
|
if (!target)
|
|
@@ -5532,12 +5815,12 @@ var XlsxPlugin = /** @class */ (function (_super) {
|
|
|
5532
5815
|
addSlicerPath(this.resolveRelationshipTarget(sheetRelPath, target), currentSheetId);
|
|
5533
5816
|
}
|
|
5534
5817
|
}
|
|
5535
|
-
catch (
|
|
5818
|
+
catch (e_63_1) { e_63 = { error: e_63_1 }; }
|
|
5536
5819
|
finally {
|
|
5537
5820
|
try {
|
|
5538
5821
|
if (sheetSlicerRels_1_1 && !sheetSlicerRels_1_1.done && (_e = sheetSlicerRels_1.return)) _e.call(sheetSlicerRels_1);
|
|
5539
5822
|
}
|
|
5540
|
-
finally { if (
|
|
5823
|
+
finally { if (e_63) throw e_63.error; }
|
|
5541
5824
|
}
|
|
5542
5825
|
return [3 /*break*/, 8];
|
|
5543
5826
|
case 7:
|
|
@@ -5549,14 +5832,14 @@ var XlsxPlugin = /** @class */ (function (_super) {
|
|
|
5549
5832
|
return [3 /*break*/, 4];
|
|
5550
5833
|
case 9: return [3 /*break*/, 12];
|
|
5551
5834
|
case 10:
|
|
5552
|
-
|
|
5553
|
-
|
|
5835
|
+
e_58_1 = _0.sent();
|
|
5836
|
+
e_58 = { error: e_58_1 };
|
|
5554
5837
|
return [3 /*break*/, 12];
|
|
5555
5838
|
case 11:
|
|
5556
5839
|
try {
|
|
5557
5840
|
if (workSheets_7_1 && !workSheets_7_1.done && (_d = workSheets_7.return)) _d.call(workSheets_7);
|
|
5558
5841
|
}
|
|
5559
|
-
finally { if (
|
|
5842
|
+
finally { if (e_58) throw e_58.error; }
|
|
5560
5843
|
return [7 /*endfinally*/];
|
|
5561
5844
|
case 12:
|
|
5562
5845
|
if (slicerPathToSheetIds_2.size === 0) {
|
|
@@ -5602,7 +5885,7 @@ var XlsxPlugin = /** @class */ (function (_super) {
|
|
|
5602
5885
|
]);
|
|
5603
5886
|
extArray = toArray_1(extList);
|
|
5604
5887
|
try {
|
|
5605
|
-
for (extArray_2 = (
|
|
5888
|
+
for (extArray_2 = (e_64 = void 0, __values(extArray)), extArray_2_1 = extArray_2.next(); !extArray_2_1.done; extArray_2_1 = extArray_2.next()) {
|
|
5606
5889
|
ext = extArray_2_1.value;
|
|
5607
5890
|
tableSlicerCache = getWithFallback(ext, [
|
|
5608
5891
|
"x15:tableSlicerCache",
|
|
@@ -5620,12 +5903,12 @@ var XlsxPlugin = /** @class */ (function (_super) {
|
|
|
5620
5903
|
}
|
|
5621
5904
|
}
|
|
5622
5905
|
}
|
|
5623
|
-
catch (
|
|
5906
|
+
catch (e_64_1) { e_64 = { error: e_64_1 }; }
|
|
5624
5907
|
finally {
|
|
5625
5908
|
try {
|
|
5626
5909
|
if (extArray_2_1 && !extArray_2_1.done && (_g = extArray_2.return)) _g.call(extArray_2);
|
|
5627
5910
|
}
|
|
5628
|
-
finally { if (
|
|
5911
|
+
finally { if (e_64) throw e_64.error; }
|
|
5629
5912
|
}
|
|
5630
5913
|
return [3 /*break*/, 18];
|
|
5631
5914
|
case 17:
|
|
@@ -5637,14 +5920,14 @@ var XlsxPlugin = /** @class */ (function (_super) {
|
|
|
5637
5920
|
return [3 /*break*/, 14];
|
|
5638
5921
|
case 19: return [3 /*break*/, 22];
|
|
5639
5922
|
case 20:
|
|
5640
|
-
|
|
5641
|
-
|
|
5923
|
+
e_59_1 = _0.sent();
|
|
5924
|
+
e_59 = { error: e_59_1 };
|
|
5642
5925
|
return [3 /*break*/, 22];
|
|
5643
5926
|
case 21:
|
|
5644
5927
|
try {
|
|
5645
5928
|
if (slicerCacheRels_1_1 && !slicerCacheRels_1_1.done && (_f = slicerCacheRels_1.return)) _f.call(slicerCacheRels_1);
|
|
5646
5929
|
}
|
|
5647
|
-
finally { if (
|
|
5930
|
+
finally { if (e_59) throw e_59.error; }
|
|
5648
5931
|
return [7 /*endfinally*/];
|
|
5649
5932
|
case 22:
|
|
5650
5933
|
_0.trys.push([22, 38, 39, 40]);
|
|
@@ -5687,7 +5970,7 @@ var XlsxPlugin = /** @class */ (function (_super) {
|
|
|
5687
5970
|
_0.label = 26;
|
|
5688
5971
|
case 26:
|
|
5689
5972
|
_0.trys.push([26, 32, 33, 34]);
|
|
5690
|
-
workSheets_8 = (
|
|
5973
|
+
workSheets_8 = (e_60 = void 0, __values(workSheets)), workSheets_8_1 = workSheets_8.next();
|
|
5691
5974
|
_0.label = 27;
|
|
5692
5975
|
case 27:
|
|
5693
5976
|
if (!!workSheets_8_1.done) return [3 /*break*/, 31];
|
|
@@ -5713,7 +5996,7 @@ var XlsxPlugin = /** @class */ (function (_super) {
|
|
|
5713
5996
|
anchors = __spreadArray(__spreadArray([], __read(toArray_1(wsDr["xdr:oneCellAnchor"] || wsDr["oneCellAnchor"])), false), __read(toArray_1(wsDr["xdr:twoCellAnchor"] || wsDr["twoCellAnchor"])), false);
|
|
5714
5997
|
firstSlicerAnchor = null;
|
|
5715
5998
|
try {
|
|
5716
|
-
for (anchors_2 = (
|
|
5999
|
+
for (anchors_2 = (e_65 = void 0, __values(anchors)), anchors_2_1 = anchors_2.next(); !anchors_2_1.done; anchors_2_1 = anchors_2.next()) {
|
|
5717
6000
|
anchor = anchors_2_1.value;
|
|
5718
6001
|
alternateContent = getWithFallback(anchor, [
|
|
5719
6002
|
"mc:AlternateContent",
|
|
@@ -5730,7 +6013,7 @@ var XlsxPlugin = /** @class */ (function (_super) {
|
|
|
5730
6013
|
]));
|
|
5731
6014
|
})), false);
|
|
5732
6015
|
try {
|
|
5733
|
-
for (graphicFrames_1 = (
|
|
6016
|
+
for (graphicFrames_1 = (e_66 = void 0, __values(graphicFrames)), graphicFrames_1_1 = graphicFrames_1.next(); !graphicFrames_1_1.done; graphicFrames_1_1 = graphicFrames_1.next()) {
|
|
5734
6017
|
graphicFrame = graphicFrames_1_1.value;
|
|
5735
6018
|
graphicData = getWithFallback(graphicFrame, [
|
|
5736
6019
|
"a:graphic.a:graphicData",
|
|
@@ -5763,23 +6046,23 @@ var XlsxPlugin = /** @class */ (function (_super) {
|
|
|
5763
6046
|
}
|
|
5764
6047
|
}
|
|
5765
6048
|
}
|
|
5766
|
-
catch (
|
|
6049
|
+
catch (e_66_1) { e_66 = { error: e_66_1 }; }
|
|
5767
6050
|
finally {
|
|
5768
6051
|
try {
|
|
5769
6052
|
if (graphicFrames_1_1 && !graphicFrames_1_1.done && (_l = graphicFrames_1.return)) _l.call(graphicFrames_1);
|
|
5770
6053
|
}
|
|
5771
|
-
finally { if (
|
|
6054
|
+
finally { if (e_66) throw e_66.error; }
|
|
5772
6055
|
}
|
|
5773
6056
|
if (position)
|
|
5774
6057
|
break;
|
|
5775
6058
|
}
|
|
5776
6059
|
}
|
|
5777
|
-
catch (
|
|
6060
|
+
catch (e_65_1) { e_65 = { error: e_65_1 }; }
|
|
5778
6061
|
finally {
|
|
5779
6062
|
try {
|
|
5780
6063
|
if (anchors_2_1 && !anchors_2_1.done && (_k = anchors_2.return)) _k.call(anchors_2);
|
|
5781
6064
|
}
|
|
5782
|
-
finally { if (
|
|
6065
|
+
finally { if (e_65) throw e_65.error; }
|
|
5783
6066
|
}
|
|
5784
6067
|
if (!position && firstSlicerAnchor) {
|
|
5785
6068
|
position = this.extractSlicerPosition(firstSlicerAnchor, currentSheetId);
|
|
@@ -5793,14 +6076,14 @@ var XlsxPlugin = /** @class */ (function (_super) {
|
|
|
5793
6076
|
return [3 /*break*/, 27];
|
|
5794
6077
|
case 31: return [3 /*break*/, 34];
|
|
5795
6078
|
case 32:
|
|
5796
|
-
|
|
5797
|
-
|
|
6079
|
+
e_60_1 = _0.sent();
|
|
6080
|
+
e_60 = { error: e_60_1 };
|
|
5798
6081
|
return [3 /*break*/, 34];
|
|
5799
6082
|
case 33:
|
|
5800
6083
|
try {
|
|
5801
6084
|
if (workSheets_8_1 && !workSheets_8_1.done && (_j = workSheets_8.return)) _j.call(workSheets_8);
|
|
5802
6085
|
}
|
|
5803
|
-
finally { if (
|
|
6086
|
+
finally { if (e_60) throw e_60.error; }
|
|
5804
6087
|
return [7 /*endfinally*/];
|
|
5805
6088
|
case 34:
|
|
5806
6089
|
// Create default position if we couldn't find one
|
|
@@ -5842,14 +6125,14 @@ var XlsxPlugin = /** @class */ (function (_super) {
|
|
|
5842
6125
|
return [3 /*break*/, 23];
|
|
5843
6126
|
case 37: return [3 /*break*/, 40];
|
|
5844
6127
|
case 38:
|
|
5845
|
-
|
|
5846
|
-
|
|
6128
|
+
e_61_1 = _0.sent();
|
|
6129
|
+
e_61 = { error: e_61_1 };
|
|
5847
6130
|
return [3 /*break*/, 40];
|
|
5848
6131
|
case 39:
|
|
5849
6132
|
try {
|
|
5850
6133
|
if (slicerPathToSheetIds_1_1 && !slicerPathToSheetIds_1_1.done && (_h = slicerPathToSheetIds_1.return)) _h.call(slicerPathToSheetIds_1);
|
|
5851
6134
|
}
|
|
5852
|
-
finally { if (
|
|
6135
|
+
finally { if (e_61) throw e_61.error; }
|
|
5853
6136
|
return [7 /*endfinally*/];
|
|
5854
6137
|
case 40: return [3 /*break*/, 42];
|
|
5855
6138
|
case 41:
|
|
@@ -6054,3 +6337,200 @@ var XlsxPlugin = /** @class */ (function (_super) {
|
|
|
6054
6337
|
return XlsxPlugin;
|
|
6055
6338
|
}(BaseWorkbookPlugin));
|
|
6056
6339
|
export { XlsxPlugin };
|
|
6340
|
+
/** `CT_SheetProtection` boolean attributes, in OOXML order (camelCase = model key). */
|
|
6341
|
+
var SHEET_PROTECTION_FLAGS = [
|
|
6342
|
+
"sheet",
|
|
6343
|
+
"objects",
|
|
6344
|
+
"scenarios",
|
|
6345
|
+
"formatCells",
|
|
6346
|
+
"formatColumns",
|
|
6347
|
+
"formatRows",
|
|
6348
|
+
"insertColumns",
|
|
6349
|
+
"insertRows",
|
|
6350
|
+
"insertHyperlinks",
|
|
6351
|
+
"deleteColumns",
|
|
6352
|
+
"deleteRows",
|
|
6353
|
+
"selectLockedCells",
|
|
6354
|
+
"sort",
|
|
6355
|
+
"autoFilter",
|
|
6356
|
+
"pivotTables",
|
|
6357
|
+
"selectUnlockedCells",
|
|
6358
|
+
];
|
|
6359
|
+
/**
|
|
6360
|
+
* `<sheetProtection …>` attributes → `Sheet.sheetProtection`. Only attributes
|
|
6361
|
+
* present in the source are set (`"1"|"true"` → true, anything else → false),
|
|
6362
|
+
* so an explicit flag round-trips without inventing schema defaults; the
|
|
6363
|
+
* password hash (legacy `password` or the agile quartet) rides along verbatim.
|
|
6364
|
+
* Mirrors `rnc-import`'s `read_sheet_protection`.
|
|
6365
|
+
*/
|
|
6366
|
+
var readSheetProtectionAttrs = function (attrs) {
|
|
6367
|
+
var e_67, _a;
|
|
6368
|
+
var protection = {};
|
|
6369
|
+
try {
|
|
6370
|
+
for (var SHEET_PROTECTION_FLAGS_1 = __values(SHEET_PROTECTION_FLAGS), SHEET_PROTECTION_FLAGS_1_1 = SHEET_PROTECTION_FLAGS_1.next(); !SHEET_PROTECTION_FLAGS_1_1.done; SHEET_PROTECTION_FLAGS_1_1 = SHEET_PROTECTION_FLAGS_1.next()) {
|
|
6371
|
+
var flag = SHEET_PROTECTION_FLAGS_1_1.value;
|
|
6372
|
+
var value = attrs[flag];
|
|
6373
|
+
if (value !== undefined) {
|
|
6374
|
+
protection[flag] = value === "1" || value === "true";
|
|
6375
|
+
}
|
|
6376
|
+
}
|
|
6377
|
+
}
|
|
6378
|
+
catch (e_67_1) { e_67 = { error: e_67_1 }; }
|
|
6379
|
+
finally {
|
|
6380
|
+
try {
|
|
6381
|
+
if (SHEET_PROTECTION_FLAGS_1_1 && !SHEET_PROTECTION_FLAGS_1_1.done && (_a = SHEET_PROTECTION_FLAGS_1.return)) _a.call(SHEET_PROTECTION_FLAGS_1);
|
|
6382
|
+
}
|
|
6383
|
+
finally { if (e_67) throw e_67.error; }
|
|
6384
|
+
}
|
|
6385
|
+
if (attrs.password)
|
|
6386
|
+
protection.password = attrs.password;
|
|
6387
|
+
if (attrs.algorithmName)
|
|
6388
|
+
protection.algorithmName = attrs.algorithmName;
|
|
6389
|
+
if (attrs.hashValue)
|
|
6390
|
+
protection.hashValue = attrs.hashValue;
|
|
6391
|
+
if (attrs.saltValue)
|
|
6392
|
+
protection.saltValue = attrs.saltValue;
|
|
6393
|
+
if (attrs.spinCount !== undefined) {
|
|
6394
|
+
var spinCount = parseInt(attrs.spinCount, 10);
|
|
6395
|
+
if (Number.isFinite(spinCount))
|
|
6396
|
+
protection.spinCount = spinCount;
|
|
6397
|
+
}
|
|
6398
|
+
return protection;
|
|
6399
|
+
};
|
|
6400
|
+
/**
|
|
6401
|
+
* `<protectedRange sqref name>` entries → `ProtectedRange[]` for one sheet. The
|
|
6402
|
+
* `name` becomes the `protectedRangeId` so it keys the stored facet and
|
|
6403
|
+
* re-exports under the same name; only the first `sqref` area is modeled
|
|
6404
|
+
* (Excel writes one per element in practice).
|
|
6405
|
+
*/
|
|
6406
|
+
var protectedRangesFromEntries = function (sheetId, entries) {
|
|
6407
|
+
var e_68, _a;
|
|
6408
|
+
var ranges = [];
|
|
6409
|
+
try {
|
|
6410
|
+
for (var entries_1 = __values(entries), entries_1_1 = entries_1.next(); !entries_1_1.done; entries_1_1 = entries_1.next()) {
|
|
6411
|
+
var entry = entries_1_1.value;
|
|
6412
|
+
var first = entry.sqref.trim().split(/\s+/)[0];
|
|
6413
|
+
var range = first ? getRangeFromAddressRef(first) : undefined;
|
|
6414
|
+
if (!range)
|
|
6415
|
+
continue;
|
|
6416
|
+
var protectedRange = {
|
|
6417
|
+
range: __assign({ sheetId: sheetId }, range),
|
|
6418
|
+
};
|
|
6419
|
+
if (entry.name)
|
|
6420
|
+
protectedRange.protectedRangeId = entry.name;
|
|
6421
|
+
if (entry.securityDescriptor) {
|
|
6422
|
+
protectedRange.securityDescriptor = entry.securityDescriptor;
|
|
6423
|
+
}
|
|
6424
|
+
ranges.push(protectedRange);
|
|
6425
|
+
}
|
|
6426
|
+
}
|
|
6427
|
+
catch (e_68_1) { e_68 = { error: e_68_1 }; }
|
|
6428
|
+
finally {
|
|
6429
|
+
try {
|
|
6430
|
+
if (entries_1_1 && !entries_1_1.done && (_a = entries_1.return)) _a.call(entries_1);
|
|
6431
|
+
}
|
|
6432
|
+
finally { if (e_68) throw e_68.error; }
|
|
6433
|
+
}
|
|
6434
|
+
return ranges;
|
|
6435
|
+
};
|
|
6436
|
+
var isXmlTrue = function (value) {
|
|
6437
|
+
return value === "1" || value === "true";
|
|
6438
|
+
};
|
|
6439
|
+
/** `"1"|"true"|"0"|"false"` → boolean; absent stays undefined. */
|
|
6440
|
+
var xmlBoolOpt = function (value) {
|
|
6441
|
+
return value === undefined ? undefined : isXmlTrue(value);
|
|
6442
|
+
};
|
|
6443
|
+
var xmlIntOpt = function (value) {
|
|
6444
|
+
if (value === undefined)
|
|
6445
|
+
return undefined;
|
|
6446
|
+
var n = parseInt(value, 10);
|
|
6447
|
+
return Number.isFinite(n) ? n : undefined;
|
|
6448
|
+
};
|
|
6449
|
+
var xmlFloatOpt = function (value) {
|
|
6450
|
+
if (value === undefined)
|
|
6451
|
+
return undefined;
|
|
6452
|
+
var n = parseFloat(value);
|
|
6453
|
+
return Number.isFinite(n) ? n : undefined;
|
|
6454
|
+
};
|
|
6455
|
+
var stripUndefined = function (value) {
|
|
6456
|
+
var e_69, _a;
|
|
6457
|
+
try {
|
|
6458
|
+
for (var _b = __values(Object.keys(value)), _c = _b.next(); !_c.done; _c = _b.next()) {
|
|
6459
|
+
var key = _c.value;
|
|
6460
|
+
if (value[key] === undefined)
|
|
6461
|
+
delete value[key];
|
|
6462
|
+
}
|
|
6463
|
+
}
|
|
6464
|
+
catch (e_69_1) { e_69 = { error: e_69_1 }; }
|
|
6465
|
+
finally {
|
|
6466
|
+
try {
|
|
6467
|
+
if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
|
|
6468
|
+
}
|
|
6469
|
+
finally { if (e_69) throw e_69.error; }
|
|
6470
|
+
}
|
|
6471
|
+
return value;
|
|
6472
|
+
};
|
|
6473
|
+
/** `<headerFooter>` children whose text is a header/footer code string. */
|
|
6474
|
+
var HEADER_FOOTER_TEXT_ELEMENTS = [
|
|
6475
|
+
"oddHeader",
|
|
6476
|
+
"oddFooter",
|
|
6477
|
+
"evenHeader",
|
|
6478
|
+
"evenFooter",
|
|
6479
|
+
"firstHeader",
|
|
6480
|
+
"firstFooter",
|
|
6481
|
+
];
|
|
6482
|
+
var isHeaderFooterTextKey = function (name) {
|
|
6483
|
+
return HEADER_FOOTER_TEXT_ELEMENTS.includes(name);
|
|
6484
|
+
};
|
|
6485
|
+
/**
|
|
6486
|
+
* `<pageSetup …>` → `PageSetup` (present attributes only; `fitToPage` is
|
|
6487
|
+
* filled from `<sheetPr><pageSetUpPr>` by the caller). Mirrors
|
|
6488
|
+
* `rnc-import`'s `read_page_setup`.
|
|
6489
|
+
*/
|
|
6490
|
+
var readPageSetupAttrs = function (attrs) {
|
|
6491
|
+
var orientation = attrs.orientation;
|
|
6492
|
+
var pageOrder = attrs.pageOrder;
|
|
6493
|
+
return stripUndefined({
|
|
6494
|
+
orientation: orientation === "landscape" || orientation === "portrait"
|
|
6495
|
+
? orientation
|
|
6496
|
+
: undefined,
|
|
6497
|
+
paperSize: xmlIntOpt(attrs.paperSize),
|
|
6498
|
+
scale: xmlIntOpt(attrs.scale),
|
|
6499
|
+
fitToWidth: xmlIntOpt(attrs.fitToWidth),
|
|
6500
|
+
fitToHeight: xmlIntOpt(attrs.fitToHeight),
|
|
6501
|
+
firstPageNumber: xmlIntOpt(attrs.firstPageNumber),
|
|
6502
|
+
useFirstPageNumber: xmlBoolOpt(attrs.useFirstPageNumber),
|
|
6503
|
+
pageOrder: pageOrder === "overThenDown" || pageOrder === "downThenOver"
|
|
6504
|
+
? pageOrder
|
|
6505
|
+
: undefined,
|
|
6506
|
+
blackAndWhite: xmlBoolOpt(attrs.blackAndWhite),
|
|
6507
|
+
draft: xmlBoolOpt(attrs.draft),
|
|
6508
|
+
});
|
|
6509
|
+
};
|
|
6510
|
+
var readPageMarginsAttrs = function (attrs) {
|
|
6511
|
+
return stripUndefined({
|
|
6512
|
+
left: xmlFloatOpt(attrs.left),
|
|
6513
|
+
right: xmlFloatOpt(attrs.right),
|
|
6514
|
+
top: xmlFloatOpt(attrs.top),
|
|
6515
|
+
bottom: xmlFloatOpt(attrs.bottom),
|
|
6516
|
+
header: xmlFloatOpt(attrs.header),
|
|
6517
|
+
footer: xmlFloatOpt(attrs.footer),
|
|
6518
|
+
});
|
|
6519
|
+
};
|
|
6520
|
+
var readPrintOptionsAttrs = function (attrs) {
|
|
6521
|
+
return stripUndefined({
|
|
6522
|
+
gridLines: xmlBoolOpt(attrs.gridLines),
|
|
6523
|
+
headings: xmlBoolOpt(attrs.headings),
|
|
6524
|
+
horizontalCentered: xmlBoolOpt(attrs.horizontalCentered),
|
|
6525
|
+
verticalCentered: xmlBoolOpt(attrs.verticalCentered),
|
|
6526
|
+
});
|
|
6527
|
+
};
|
|
6528
|
+
/** `<headerFooter …>` attributes; the child texts stream in via `ontext`. */
|
|
6529
|
+
var readHeaderFooterAttrs = function (attrs) {
|
|
6530
|
+
return stripUndefined({
|
|
6531
|
+
differentOddEven: xmlBoolOpt(attrs.differentOddEven),
|
|
6532
|
+
differentFirst: xmlBoolOpt(attrs.differentFirst),
|
|
6533
|
+
scaleWithDoc: xmlBoolOpt(attrs.scaleWithDoc),
|
|
6534
|
+
alignWithMargins: xmlBoolOpt(attrs.alignWithMargins),
|
|
6535
|
+
});
|
|
6536
|
+
};
|