@rowsncolumns/toolkit 24.4.2 → 24.4.3
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 +10 -1
- package/dist/cjs/excel-parser/interface.d.ts.map +1 -1
- 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 +11 -3
- package/dist/cjs/excel-parser/plugins/xls/index.d.ts.map +1 -1
- package/dist/cjs/excel-parser/plugins/xls/index.js +55 -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 +21 -9
- 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/index.d.ts +26 -1
- package/dist/cjs/excel-parser/plugins/xlsx/index.d.ts.map +1 -1
- package/dist/cjs/excel-parser/plugins/xlsx/index.js +567 -234
- 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.map +1 -1
- package/dist/cjs/excel-parser/plugins/xlsx/styles.js +12 -2
- package/dist/cjs/excel-parser/registry.d.ts.map +1 -1
- package/dist/cjs/excel-parser/registry.js +2 -0
- package/dist/cjs/excel-parser/types.d.ts +7 -1
- package/dist/cjs/excel-parser/types.d.ts.map +1 -1
- package/dist/cjs/excel-parser/workbook.d.ts +1 -0
- package/dist/cjs/excel-parser/workbook.d.ts.map +1 -1
- package/dist/cjs/excel-parser/workbook.js +4 -0
- package/dist/cjs/excel-parser/worker.js +3 -1
- 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 +210 -6
- 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 +678 -222
- 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 +10 -1
- package/dist/esm/excel-parser/interface.d.ts.map +1 -1
- 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 +11 -3
- package/dist/esm/excel-parser/plugins/xls/index.d.ts.map +1 -1
- package/dist/esm/excel-parser/plugins/xls/index.js +37 -5
- 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 +20 -6
- 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/index.d.ts +26 -1
- package/dist/esm/excel-parser/plugins/xlsx/index.d.ts.map +1 -1
- package/dist/esm/excel-parser/plugins/xlsx/index.js +362 -26
- 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.map +1 -1
- package/dist/esm/excel-parser/plugins/xlsx/styles.js +12 -2
- package/dist/esm/excel-parser/registry.d.ts.map +1 -1
- package/dist/esm/excel-parser/registry.js +2 -0
- package/dist/esm/excel-parser/types.d.ts +7 -1
- package/dist/esm/excel-parser/types.d.ts.map +1 -1
- package/dist/esm/excel-parser/workbook.d.ts +1 -0
- package/dist/esm/excel-parser/workbook.d.ts.map +1 -1
- package/dist/esm/excel-parser/workbook.js +3 -0
- package/dist/esm/excel-parser/worker.js +2 -0
- 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 -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 +449 -47
- 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
|
@@ -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,7 +14,7 @@ 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";
|
|
@@ -789,6 +790,18 @@ var XlsxPlugin = /** @class */ (function (_super) {
|
|
|
789
790
|
* `getDataValidations()` aggregates these per-sheet caches, keeping ids
|
|
790
791
|
* stable across per-sheet and workbook-wide callers.
|
|
791
792
|
*/
|
|
793
|
+
/**
|
|
794
|
+
* `<protectedRanges>` per sheet, populated while `getSheets` builds each
|
|
795
|
+
* `Sheet` (the element sits after `<sheetData>` in the worksheet part, so it
|
|
796
|
+
* rides the same geometry pass). Read back via `getProtectedRanges`.
|
|
797
|
+
*/
|
|
798
|
+
_this.protectedRangesBySheet = new Map();
|
|
799
|
+
/**
|
|
800
|
+
* The builtin `_xlnm.Print_Area` / `_xlnm.Print_Titles` defined names,
|
|
801
|
+
* hoisted out of `namedRanges` (they are sheet-scoped facets, not user
|
|
802
|
+
* names) and merged into each sheet's `printSettings` by `getSheets()`.
|
|
803
|
+
*/
|
|
804
|
+
_this.printNamesBySheetId = new Map();
|
|
792
805
|
_this.dataValidationsBySheetCache = new Map();
|
|
793
806
|
/** Per-sheet memo for conditional formatting, mirroring the DV cache. */
|
|
794
807
|
_this.conditionalFormattingBySheetCache = new Map();
|
|
@@ -835,7 +848,7 @@ var XlsxPlugin = /** @class */ (function (_super) {
|
|
|
835
848
|
};
|
|
836
849
|
XlsxPlugin.prototype.parseSheetMetadata = function (rid) {
|
|
837
850
|
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;
|
|
851
|
+
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
852
|
var _this = this;
|
|
840
853
|
return __generator(this, function (_a) {
|
|
841
854
|
switch (_a.label) {
|
|
@@ -849,6 +862,10 @@ var XlsxPlugin = /** @class */ (function (_super) {
|
|
|
849
862
|
maxColumnIndex = 0;
|
|
850
863
|
sheetHasFilterMode = false;
|
|
851
864
|
zeroHeight = false;
|
|
865
|
+
protectedRangeEntries = [];
|
|
866
|
+
fitToPage = false;
|
|
867
|
+
rowBreaks = [];
|
|
868
|
+
columnBreaks = [];
|
|
852
869
|
filterColumns = new Map();
|
|
853
870
|
getOrCreateFilterColumn = function (colId) {
|
|
854
871
|
var entry = filterColumns.get(colId);
|
|
@@ -862,13 +879,20 @@ var XlsxPlugin = /** @class */ (function (_super) {
|
|
|
862
879
|
tablePartIds = [];
|
|
863
880
|
lastScannedRowIndex = 0;
|
|
864
881
|
scanSeqColIndex = 1;
|
|
882
|
+
inCustomSheetViews = false;
|
|
865
883
|
normalizeTag = function (name) {
|
|
866
884
|
return name.includes(":") ? name.split(":")[1] : name;
|
|
867
885
|
};
|
|
868
886
|
parser = new HtmlParser({
|
|
869
887
|
onopentag: function (tagName, attrs) {
|
|
870
|
-
var _a, _b, _c, _d, _e, _f, _g;
|
|
888
|
+
var _a, _b, _c, _d, _e, _f, _g, _h;
|
|
871
889
|
var name = normalizeTag(tagName);
|
|
890
|
+
if (name === "customSheetViews") {
|
|
891
|
+
inCustomSheetViews = true;
|
|
892
|
+
return;
|
|
893
|
+
}
|
|
894
|
+
if (inCustomSheetViews)
|
|
895
|
+
return;
|
|
872
896
|
if (name === "dimension") {
|
|
873
897
|
var ref = attrs === null || attrs === void 0 ? void 0 : attrs.ref;
|
|
874
898
|
if (typeof ref === "string") {
|
|
@@ -914,6 +938,50 @@ var XlsxPlugin = /** @class */ (function (_super) {
|
|
|
914
938
|
if (name === "tabColor") {
|
|
915
939
|
tabColor = { a$: __assign({}, attrs) };
|
|
916
940
|
}
|
|
941
|
+
if (name === "sheetProtection") {
|
|
942
|
+
sheetProtection = readSheetProtectionAttrs(attrs);
|
|
943
|
+
}
|
|
944
|
+
if (name === "protectedRange") {
|
|
945
|
+
var sqref = attrs.sqref;
|
|
946
|
+
if (typeof sqref === "string" && sqref) {
|
|
947
|
+
protectedRangeEntries.push({
|
|
948
|
+
sqref: sqref,
|
|
949
|
+
name: attrs.name,
|
|
950
|
+
securityDescriptor: attrs.securityDescriptor,
|
|
951
|
+
});
|
|
952
|
+
}
|
|
953
|
+
}
|
|
954
|
+
if (name === "pageSetUpPr") {
|
|
955
|
+
fitToPage = isXmlTrue(attrs === null || attrs === void 0 ? void 0 : attrs.fitToPage);
|
|
956
|
+
}
|
|
957
|
+
if (name === "pageSetup") {
|
|
958
|
+
pageSetup = readPageSetupAttrs(attrs);
|
|
959
|
+
}
|
|
960
|
+
if (name === "pageMargins") {
|
|
961
|
+
pageMargins = readPageMarginsAttrs(attrs);
|
|
962
|
+
}
|
|
963
|
+
if (name === "printOptions") {
|
|
964
|
+
printOptions = readPrintOptionsAttrs(attrs);
|
|
965
|
+
}
|
|
966
|
+
if (name === "headerFooter") {
|
|
967
|
+
headerFooter = readHeaderFooterAttrs(attrs);
|
|
968
|
+
}
|
|
969
|
+
if (isHeaderFooterTextKey(name)) {
|
|
970
|
+
headerFooterTextTarget = name;
|
|
971
|
+
headerFooter !== null && headerFooter !== void 0 ? headerFooter : (headerFooter = {});
|
|
972
|
+
}
|
|
973
|
+
if (name === "rowBreaks")
|
|
974
|
+
breakAxis = "row";
|
|
975
|
+
if (name === "colBreaks")
|
|
976
|
+
breakAxis = "column";
|
|
977
|
+
if (name === "brk" && breakAxis) {
|
|
978
|
+
// Only manual breaks are user state; Excel drops automatic ones
|
|
979
|
+
// (`man` absent) on save as well.
|
|
980
|
+
var id = parseInt((_a = attrs === null || attrs === void 0 ? void 0 : attrs.id) !== null && _a !== void 0 ? _a : "", 10);
|
|
981
|
+
if (Number.isFinite(id) && id > 0 && isXmlTrue(attrs === null || attrs === void 0 ? void 0 : attrs.man)) {
|
|
982
|
+
(breakAxis === "row" ? rowBreaks : columnBreaks).push(id);
|
|
983
|
+
}
|
|
984
|
+
}
|
|
917
985
|
if (name === "sheetView" && !sheetViewAttrs) {
|
|
918
986
|
sheetViewAttrs = __assign({}, attrs);
|
|
919
987
|
}
|
|
@@ -924,8 +992,8 @@ var XlsxPlugin = /** @class */ (function (_super) {
|
|
|
924
992
|
return;
|
|
925
993
|
}
|
|
926
994
|
if (name === "col") {
|
|
927
|
-
var min = parseInt((
|
|
928
|
-
var max = parseInt((
|
|
995
|
+
var min = parseInt((_b = attrs.min) !== null && _b !== void 0 ? _b : "0", 10);
|
|
996
|
+
var max = parseInt((_c = attrs.max) !== null && _c !== void 0 ? _c : "0", 10);
|
|
929
997
|
// Column default style: cells in these columns without an
|
|
930
998
|
// explicit `s` (including cells never written to the XML)
|
|
931
999
|
// inherit this xf. Collected separately from DimensionProperties
|
|
@@ -984,7 +1052,7 @@ var XlsxPlugin = /** @class */ (function (_super) {
|
|
|
984
1052
|
}
|
|
985
1053
|
}
|
|
986
1054
|
if (name === "row") {
|
|
987
|
-
var parsedRowIndex = parseInt((
|
|
1055
|
+
var parsedRowIndex = parseInt((_d = attrs.r) !== null && _d !== void 0 ? _d : "0", 10);
|
|
988
1056
|
var rowIndex = parsedRowIndex > 0 ? parsedRowIndex : lastScannedRowIndex + 1;
|
|
989
1057
|
lastScannedRowIndex = rowIndex;
|
|
990
1058
|
scanSeqColIndex = 1;
|
|
@@ -1024,7 +1092,7 @@ var XlsxPlugin = /** @class */ (function (_super) {
|
|
|
1024
1092
|
if (name === "mergeCell") {
|
|
1025
1093
|
var ref = attrs.ref;
|
|
1026
1094
|
if (typeof ref === "string") {
|
|
1027
|
-
var range = (
|
|
1095
|
+
var range = (_e = addressToSelection(ref)) === null || _e === void 0 ? void 0 : _e.range;
|
|
1028
1096
|
if (range)
|
|
1029
1097
|
merges.push(range);
|
|
1030
1098
|
}
|
|
@@ -1036,7 +1104,7 @@ var XlsxPlugin = /** @class */ (function (_super) {
|
|
|
1036
1104
|
}
|
|
1037
1105
|
}
|
|
1038
1106
|
if (name === "filterColumn") {
|
|
1039
|
-
var colId = parseInt((
|
|
1107
|
+
var colId = parseInt((_f = attrs.colId) !== null && _f !== void 0 ? _f : "0", 10);
|
|
1040
1108
|
currentFilterColumn = Number.isNaN(colId) ? null : colId;
|
|
1041
1109
|
}
|
|
1042
1110
|
if (name === "filter" && currentFilterColumn !== null) {
|
|
@@ -1076,13 +1144,13 @@ var XlsxPlugin = /** @class */ (function (_super) {
|
|
|
1076
1144
|
// operator= val=>. Records the AND flag, then each child below.
|
|
1077
1145
|
if (name === "customFilters" && currentFilterColumn !== null) {
|
|
1078
1146
|
var entry = getOrCreateFilterColumn(currentFilterColumn);
|
|
1079
|
-
entry.customFilters = (
|
|
1147
|
+
entry.customFilters = (_g = entry.customFilters) !== null && _g !== void 0 ? _g : [];
|
|
1080
1148
|
entry.customFiltersAnd =
|
|
1081
1149
|
attrs.and === "1" || attrs.and === "true";
|
|
1082
1150
|
}
|
|
1083
1151
|
if (name === "customFilter" && currentFilterColumn !== null) {
|
|
1084
1152
|
var entry = getOrCreateFilterColumn(currentFilterColumn);
|
|
1085
|
-
entry.customFilters = (
|
|
1153
|
+
entry.customFilters = (_h = entry.customFilters) !== null && _h !== void 0 ? _h : [];
|
|
1086
1154
|
entry.customFilters.push({
|
|
1087
1155
|
operator: attrs.operator,
|
|
1088
1156
|
val: attrs.val,
|
|
@@ -1102,11 +1170,30 @@ var XlsxPlugin = /** @class */ (function (_super) {
|
|
|
1102
1170
|
}
|
|
1103
1171
|
}
|
|
1104
1172
|
},
|
|
1173
|
+
ontext: function (text) {
|
|
1174
|
+
var _a;
|
|
1175
|
+
if (headerFooterTextTarget && headerFooter) {
|
|
1176
|
+
headerFooter[headerFooterTextTarget] =
|
|
1177
|
+
"".concat((_a = headerFooter[headerFooterTextTarget]) !== null && _a !== void 0 ? _a : "").concat(text);
|
|
1178
|
+
}
|
|
1179
|
+
},
|
|
1105
1180
|
onclosetag: function (tagName) {
|
|
1106
1181
|
var name = normalizeTag(tagName);
|
|
1182
|
+
if (name === "customSheetViews") {
|
|
1183
|
+
inCustomSheetViews = false;
|
|
1184
|
+
return;
|
|
1185
|
+
}
|
|
1186
|
+
if (inCustomSheetViews)
|
|
1187
|
+
return;
|
|
1107
1188
|
if (name === "filterColumn") {
|
|
1108
1189
|
currentFilterColumn = null;
|
|
1109
1190
|
}
|
|
1191
|
+
if (isHeaderFooterTextKey(name)) {
|
|
1192
|
+
headerFooterTextTarget = undefined;
|
|
1193
|
+
}
|
|
1194
|
+
if (name === "rowBreaks" || name === "colBreaks") {
|
|
1195
|
+
breakAxis = undefined;
|
|
1196
|
+
}
|
|
1110
1197
|
},
|
|
1111
1198
|
onerror: function (err) {
|
|
1112
1199
|
console.error("Streaming sheet metadata parse error", err);
|
|
@@ -1183,6 +1270,18 @@ var XlsxPlugin = /** @class */ (function (_super) {
|
|
|
1183
1270
|
tablePartIds: tablePartIds,
|
|
1184
1271
|
outlineSummaryBelow: outlineSummaryBelow,
|
|
1185
1272
|
outlineSummaryRight: outlineSummaryRight,
|
|
1273
|
+
sheetProtection: sheetProtection,
|
|
1274
|
+
protectedRangeEntries: protectedRangeEntries,
|
|
1275
|
+
printSettings: compactPrintSettings({
|
|
1276
|
+
pageSetup: fitToPage ? __assign(__assign({}, pageSetup), { fitToPage: true }) : pageSetup,
|
|
1277
|
+
// Every Excel worksheet carries `<pageMargins>`; only non-default
|
|
1278
|
+
// margins are user state worth modelling.
|
|
1279
|
+
pageMargins: isDefaultPageMargins(pageMargins) ? undefined : pageMargins,
|
|
1280
|
+
printOptions: printOptions,
|
|
1281
|
+
headerFooter: headerFooter,
|
|
1282
|
+
rowBreaks: rowBreaks,
|
|
1283
|
+
columnBreaks: columnBreaks,
|
|
1284
|
+
}),
|
|
1186
1285
|
}];
|
|
1187
1286
|
}
|
|
1188
1287
|
});
|
|
@@ -2004,6 +2103,7 @@ var XlsxPlugin = /** @class */ (function (_super) {
|
|
|
2004
2103
|
this.sheetMetadataCache.clear();
|
|
2005
2104
|
this.dataValidationsBySheetCache.clear();
|
|
2006
2105
|
this.conditionalFormattingBySheetCache.clear();
|
|
2106
|
+
this.protectedRangesBySheet.clear();
|
|
2007
2107
|
return [4 /*yield*/, this.loadWorkbookXml()];
|
|
2008
2108
|
case 2:
|
|
2009
2109
|
_e.sent();
|
|
@@ -2041,6 +2141,7 @@ var XlsxPlugin = /** @class */ (function (_super) {
|
|
|
2041
2141
|
this.sheetMetadataCache.clear();
|
|
2042
2142
|
this.dataValidationsBySheetCache.clear();
|
|
2043
2143
|
this.conditionalFormattingBySheetCache.clear();
|
|
2144
|
+
this.protectedRangesBySheet.clear();
|
|
2044
2145
|
this.worksheetBySheetId.clear();
|
|
2045
2146
|
};
|
|
2046
2147
|
XlsxPlugin.prototype.clearSharedFormula = function () {
|
|
@@ -2136,7 +2237,7 @@ var XlsxPlugin = /** @class */ (function (_super) {
|
|
|
2136
2237
|
: [];
|
|
2137
2238
|
columns = columnDefsArray.map(function (colDef) {
|
|
2138
2239
|
var name = colDef.a$.name || "";
|
|
2139
|
-
var columnObj = { name: name };
|
|
2240
|
+
var columnObj = __assign({ name: name }, parseTableColumnTotals(colDef));
|
|
2140
2241
|
// Check for calculated column
|
|
2141
2242
|
// Handle both with and without namespace prefix
|
|
2142
2243
|
var calculatedColumnFormula = get(colDef, "calculatedColumnFormula") ||
|
|
@@ -3338,8 +3439,9 @@ var XlsxPlugin = /** @class */ (function (_super) {
|
|
|
3338
3439
|
return __awaiter(this, void 0, void 0, function () {
|
|
3339
3440
|
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
3441
|
var e_28, _a;
|
|
3341
|
-
|
|
3342
|
-
|
|
3442
|
+
var _b;
|
|
3443
|
+
return __generator(this, function (_c) {
|
|
3444
|
+
switch (_c.label) {
|
|
3343
3445
|
case 0:
|
|
3344
3446
|
images = [];
|
|
3345
3447
|
target = this.relations[rid].target;
|
|
@@ -3356,17 +3458,17 @@ var XlsxPlugin = /** @class */ (function (_super) {
|
|
|
3356
3458
|
sheetRelPath = path.replace("worksheets", "worksheets/_rels") + ".rels";
|
|
3357
3459
|
return [4 /*yield*/, this.zipParser.getText(sheetRelPath)];
|
|
3358
3460
|
case 1:
|
|
3359
|
-
sheetRelContent =
|
|
3461
|
+
sheetRelContent = _c.sent();
|
|
3360
3462
|
sheetRels = this.xmlParser.parse(sheetRelContent);
|
|
3361
3463
|
drawingRelations = get(sheetRels, "Relationships.Relationship");
|
|
3362
3464
|
drawingRelationsArray = Array.isArray(drawingRelations)
|
|
3363
3465
|
? drawingRelations
|
|
3364
3466
|
: [drawingRelations];
|
|
3365
3467
|
_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 (
|
|
3468
|
+
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;
|
|
3469
|
+
var e_31, _h, e_30, _j, e_29, _k;
|
|
3470
|
+
return __generator(this, function (_l) {
|
|
3471
|
+
switch (_l.label) {
|
|
3370
3472
|
case 0:
|
|
3371
3473
|
drawingId = get(drawingElement, "a$.r:id") || get(drawingElement, "a$.id");
|
|
3372
3474
|
drawingRels = drawingRelationsArray.filter(function (rel) {
|
|
@@ -3375,13 +3477,13 @@ var XlsxPlugin = /** @class */ (function (_super) {
|
|
|
3375
3477
|
rel.a$.ID === drawingId ||
|
|
3376
3478
|
(rel.a$.Target && rel.a$.Target.includes("drawing"));
|
|
3377
3479
|
});
|
|
3378
|
-
|
|
3480
|
+
_l.label = 1;
|
|
3379
3481
|
case 1:
|
|
3380
|
-
|
|
3381
|
-
drawingRels_2 = (
|
|
3382
|
-
|
|
3482
|
+
_l.trys.push([1, 19, 20, 21]);
|
|
3483
|
+
drawingRels_2 = (e_31 = void 0, __values(drawingRels)), drawingRels_2_1 = drawingRels_2.next();
|
|
3484
|
+
_l.label = 2;
|
|
3383
3485
|
case 2:
|
|
3384
|
-
if (!!drawingRels_2_1.done) return [3 /*break*/,
|
|
3486
|
+
if (!!drawingRels_2_1.done) return [3 /*break*/, 18];
|
|
3385
3487
|
drawingRel = drawingRels_2_1.value;
|
|
3386
3488
|
drawingPath = drawingRel.a$.Target;
|
|
3387
3489
|
if (drawingPath.startsWith("../")) {
|
|
@@ -3400,130 +3502,94 @@ var XlsxPlugin = /** @class */ (function (_super) {
|
|
|
3400
3502
|
}
|
|
3401
3503
|
return [4 /*yield*/, this_3.zipParser.getText(drawingPath)];
|
|
3402
3504
|
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;
|
|
3505
|
+
drawingContent = (_b = (_l.sent())) !== null && _b !== void 0 ? _b : "";
|
|
3506
|
+
drawing_1 = this_3.xmlParser.parse(drawingContent);
|
|
3507
|
+
_l.label = 4;
|
|
3412
3508
|
case 4:
|
|
3413
|
-
|
|
3414
|
-
|
|
3415
|
-
|
|
3509
|
+
_l.trys.push([4, 15, 16, 17]);
|
|
3510
|
+
_d = (e_30 = void 0, __values(anchorsInDocumentOrder(drawing_1, drawingContent))), _e = _d.next();
|
|
3511
|
+
_l.label = 5;
|
|
3416
3512
|
case 5:
|
|
3417
|
-
|
|
3418
|
-
|
|
3513
|
+
if (!!_e.done) return [3 /*break*/, 14];
|
|
3514
|
+
anchor = _e.value;
|
|
3515
|
+
_l.label = 6;
|
|
3419
3516
|
case 6:
|
|
3420
|
-
|
|
3421
|
-
|
|
3422
|
-
|
|
3423
|
-
_o.label = 7;
|
|
3517
|
+
_l.trys.push([6, 11, 12, 13]);
|
|
3518
|
+
e_29 = void 0;
|
|
3519
|
+
return [4 /*yield*/, processAnchors(anchor.node, anchor.kind, drawingPath, sheetId, this_3.zipParser, this_3.xmlParser)];
|
|
3424
3520
|
case 7:
|
|
3425
|
-
|
|
3426
|
-
|
|
3427
|
-
case 8:
|
|
3521
|
+
_f = (__values.apply(void 0, [_l.sent()])), _g = _f.next();
|
|
3522
|
+
_l.label = 8;
|
|
3523
|
+
case 8:
|
|
3524
|
+
if (!!_g.done) return [3 /*break*/, 10];
|
|
3525
|
+
image = _g.value;
|
|
3526
|
+
images.push(image);
|
|
3527
|
+
_l.label = 9;
|
|
3428
3528
|
case 9:
|
|
3429
|
-
|
|
3529
|
+
_g = _f.next();
|
|
3530
|
+
return [3 /*break*/, 8];
|
|
3531
|
+
case 10: return [3 /*break*/, 13];
|
|
3532
|
+
case 11:
|
|
3533
|
+
e_29_1 = _l.sent();
|
|
3430
3534
|
e_29 = { error: e_29_1 };
|
|
3431
|
-
return [3 /*break*/,
|
|
3432
|
-
case
|
|
3535
|
+
return [3 /*break*/, 13];
|
|
3536
|
+
case 12:
|
|
3433
3537
|
try {
|
|
3434
|
-
if (
|
|
3538
|
+
if (_g && !_g.done && (_k = _f.return)) _k.call(_f);
|
|
3435
3539
|
}
|
|
3436
3540
|
finally { if (e_29) throw e_29.error; }
|
|
3437
3541
|
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
3542
|
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();
|
|
3543
|
+
_e = _d.next();
|
|
3544
|
+
return [3 /*break*/, 5];
|
|
3545
|
+
case 14: return [3 /*break*/, 17];
|
|
3546
|
+
case 15:
|
|
3547
|
+
e_30_1 = _l.sent();
|
|
3456
3548
|
e_30 = { error: e_30_1 };
|
|
3457
|
-
return [3 /*break*/,
|
|
3458
|
-
case
|
|
3549
|
+
return [3 /*break*/, 17];
|
|
3550
|
+
case 16:
|
|
3459
3551
|
try {
|
|
3460
|
-
if (
|
|
3552
|
+
if (_e && !_e.done && (_j = _d.return)) _j.call(_d);
|
|
3461
3553
|
}
|
|
3462
3554
|
finally { if (e_30) throw e_30.error; }
|
|
3463
3555
|
return [7 /*endfinally*/];
|
|
3464
|
-
case
|
|
3465
|
-
|
|
3466
|
-
|
|
3467
|
-
|
|
3556
|
+
case 17:
|
|
3557
|
+
drawingRels_2_1 = drawingRels_2.next();
|
|
3558
|
+
return [3 /*break*/, 2];
|
|
3559
|
+
case 18: return [3 /*break*/, 21];
|
|
3468
3560
|
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();
|
|
3561
|
+
e_31_1 = _l.sent();
|
|
3482
3562
|
e_31 = { error: e_31_1 };
|
|
3483
|
-
return [3 /*break*/,
|
|
3484
|
-
case
|
|
3563
|
+
return [3 /*break*/, 21];
|
|
3564
|
+
case 20:
|
|
3485
3565
|
try {
|
|
3486
|
-
if (
|
|
3566
|
+
if (drawingRels_2_1 && !drawingRels_2_1.done && (_h = drawingRels_2.return)) _h.call(drawingRels_2);
|
|
3487
3567
|
}
|
|
3488
3568
|
finally { if (e_31) throw e_31.error; }
|
|
3489
3569
|
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*/];
|
|
3570
|
+
case 21: return [2 /*return*/];
|
|
3505
3571
|
}
|
|
3506
3572
|
});
|
|
3507
3573
|
};
|
|
3508
3574
|
this_3 = this;
|
|
3509
|
-
|
|
3575
|
+
_c.label = 2;
|
|
3510
3576
|
case 2:
|
|
3511
|
-
|
|
3577
|
+
_c.trys.push([2, 7, 8, 9]);
|
|
3512
3578
|
drawings_2 = __values(drawings), drawings_2_1 = drawings_2.next();
|
|
3513
|
-
|
|
3579
|
+
_c.label = 3;
|
|
3514
3580
|
case 3:
|
|
3515
3581
|
if (!!drawings_2_1.done) return [3 /*break*/, 6];
|
|
3516
3582
|
drawingElement = drawings_2_1.value;
|
|
3517
3583
|
return [5 /*yield**/, _loop_6(drawingElement)];
|
|
3518
3584
|
case 4:
|
|
3519
|
-
|
|
3520
|
-
|
|
3585
|
+
_c.sent();
|
|
3586
|
+
_c.label = 5;
|
|
3521
3587
|
case 5:
|
|
3522
3588
|
drawings_2_1 = drawings_2.next();
|
|
3523
3589
|
return [3 /*break*/, 3];
|
|
3524
3590
|
case 6: return [3 /*break*/, 9];
|
|
3525
3591
|
case 7:
|
|
3526
|
-
e_28_1 =
|
|
3592
|
+
e_28_1 = _c.sent();
|
|
3527
3593
|
e_28 = { error: e_28_1 };
|
|
3528
3594
|
return [3 /*break*/, 9];
|
|
3529
3595
|
case 8:
|
|
@@ -3605,9 +3671,46 @@ var XlsxPlugin = /** @class */ (function (_super) {
|
|
|
3605
3671
|
XlsxPlugin.prototype._getSheets = function () {
|
|
3606
3672
|
return this.workSheets;
|
|
3607
3673
|
};
|
|
3674
|
+
/**
|
|
3675
|
+
* Resolve a builtin print name to its sheet (`localSheetId` indexes the
|
|
3676
|
+
* `<sheets>` order; a name without scope falls back to the sheet named in
|
|
3677
|
+
* the formula) and record the parsed print area / titles for `getSheets()`.
|
|
3678
|
+
*/
|
|
3679
|
+
XlsxPlugin.prototype.stashBuiltinPrintName = function (name, expression, localSheetId, sheetIdBySheetName) {
|
|
3680
|
+
var _a, _b;
|
|
3681
|
+
if (!expression || expression.includes("#REF!"))
|
|
3682
|
+
return;
|
|
3683
|
+
var parsed = name === PRINT_AREA_NAME
|
|
3684
|
+
? parsePrintAreaFormula(expression)
|
|
3685
|
+
: parsePrintTitlesFormula(expression);
|
|
3686
|
+
if (!parsed)
|
|
3687
|
+
return;
|
|
3688
|
+
var sheetId;
|
|
3689
|
+
if (localSheetId !== undefined) {
|
|
3690
|
+
var index = parseInt(localSheetId, 10);
|
|
3691
|
+
var sheetEl = this._getSheets()[index];
|
|
3692
|
+
var id = Number((_a = sheetEl === null || sheetEl === void 0 ? void 0 : sheetEl.a$) === null || _a === void 0 ? void 0 : _a.sheetId);
|
|
3693
|
+
if (Number.isFinite(id))
|
|
3694
|
+
sheetId = id;
|
|
3695
|
+
}
|
|
3696
|
+
if (sheetId === undefined && parsed.sheetName) {
|
|
3697
|
+
sheetId = sheetIdBySheetName[parsed.sheetName];
|
|
3698
|
+
}
|
|
3699
|
+
if (sheetId === undefined)
|
|
3700
|
+
return;
|
|
3701
|
+
var entry = (_b = this.printNamesBySheetId.get(sheetId)) !== null && _b !== void 0 ? _b : {};
|
|
3702
|
+
if ("ranges" in parsed) {
|
|
3703
|
+
entry.printArea = parsed.ranges;
|
|
3704
|
+
}
|
|
3705
|
+
else {
|
|
3706
|
+
entry.printTitles = parsed.titles;
|
|
3707
|
+
}
|
|
3708
|
+
this.printNamesBySheetId.set(sheetId, entry);
|
|
3709
|
+
};
|
|
3608
3710
|
XlsxPlugin.prototype._getNamedRanges = function () {
|
|
3609
|
-
var
|
|
3610
|
-
var _c;
|
|
3711
|
+
var e_32, _a, e_33, _b;
|
|
3712
|
+
var _c, _d;
|
|
3713
|
+
this.printNamesBySheetId.clear();
|
|
3611
3714
|
var xml = this.workbookXml;
|
|
3612
3715
|
var sheetIdBySheetName = this._getSheets().reduce(function (acc, element) {
|
|
3613
3716
|
var _a;
|
|
@@ -3632,6 +3735,14 @@ var XlsxPlugin = /** @class */ (function (_super) {
|
|
|
3632
3735
|
var name_7 = (_c = defined_name.a$) === null || _c === void 0 ? void 0 : _c.name;
|
|
3633
3736
|
var expression = defined_name.t$ || "";
|
|
3634
3737
|
var hidden = defined_name.a$.hidden === "1";
|
|
3738
|
+
// `_xlnm.Print_Area` / `_xlnm.Print_Titles` are sheet-scoped print
|
|
3739
|
+
// facets, not user names: they land on `sheet.printSettings` (see
|
|
3740
|
+
// `getSheets()`), never in `namedRanges` — a global copy would make
|
|
3741
|
+
// Excel repair the file on the next export.
|
|
3742
|
+
if (isBuiltinPrintName(name_7)) {
|
|
3743
|
+
this.stashBuiltinPrintName(name_7, typeof expression === "string" ? expression : "", (_d = defined_name.a$) === null || _d === void 0 ? void 0 : _d.localSheetId, sheetIdBySheetName);
|
|
3744
|
+
continue;
|
|
3745
|
+
}
|
|
3635
3746
|
// Empty defined names are noise; nothing useful to round-trip.
|
|
3636
3747
|
// Hidden defined names ARE preserved — Excel uses them as scratch
|
|
3637
3748
|
// names for features like print areas and add-ins, and dropping
|
|
@@ -3647,7 +3758,7 @@ var XlsxPlugin = /** @class */ (function (_super) {
|
|
|
3647
3758
|
var pushedRange = false;
|
|
3648
3759
|
if (selections.length) {
|
|
3649
3760
|
try {
|
|
3650
|
-
for (var selections_1 = (
|
|
3761
|
+
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
3762
|
var selection = selections_1_1.value;
|
|
3652
3763
|
var sheetId = selection.sheetName
|
|
3653
3764
|
? sheetIdBySheetName[selection.sheetName]
|
|
@@ -3658,12 +3769,12 @@ var XlsxPlugin = /** @class */ (function (_super) {
|
|
|
3658
3769
|
}
|
|
3659
3770
|
}
|
|
3660
3771
|
}
|
|
3661
|
-
catch (
|
|
3772
|
+
catch (e_33_1) { e_33 = { error: e_33_1 }; }
|
|
3662
3773
|
finally {
|
|
3663
3774
|
try {
|
|
3664
3775
|
if (selections_1_1 && !selections_1_1.done && (_b = selections_1.return)) _b.call(selections_1);
|
|
3665
3776
|
}
|
|
3666
|
-
finally { if (
|
|
3777
|
+
finally { if (e_33) throw e_33.error; }
|
|
3667
3778
|
}
|
|
3668
3779
|
}
|
|
3669
3780
|
// Reference parsed but no selection bound to a known sheet — most
|
|
@@ -3687,12 +3798,12 @@ var XlsxPlugin = /** @class */ (function (_super) {
|
|
|
3687
3798
|
}
|
|
3688
3799
|
}
|
|
3689
3800
|
}
|
|
3690
|
-
catch (
|
|
3801
|
+
catch (e_32_1) { e_32 = { error: e_32_1 }; }
|
|
3691
3802
|
finally {
|
|
3692
3803
|
try {
|
|
3693
3804
|
if (defined_names_1_1 && !defined_names_1_1.done && (_a = defined_names_1.return)) _a.call(defined_names_1);
|
|
3694
3805
|
}
|
|
3695
|
-
finally { if (
|
|
3806
|
+
finally { if (e_32) throw e_32.error; }
|
|
3696
3807
|
}
|
|
3697
3808
|
}
|
|
3698
3809
|
return namedRanges;
|
|
@@ -3751,8 +3862,8 @@ var XlsxPlugin = /** @class */ (function (_super) {
|
|
|
3751
3862
|
// INTERFACE IMPLEMENTATION METHODS
|
|
3752
3863
|
XlsxPlugin.prototype.getSheets = function () {
|
|
3753
3864
|
return __awaiter(this, arguments, void 0, function (minRowCount, minColumnCount) {
|
|
3754
|
-
var workSheets, sheets, tables, workSheets_1, workSheets_1_1, element, built,
|
|
3755
|
-
var
|
|
3865
|
+
var workSheets, sheets, tables, workSheets_1, workSheets_1_1, element, built, e_34_1;
|
|
3866
|
+
var e_34, _a;
|
|
3756
3867
|
var _b;
|
|
3757
3868
|
if (minRowCount === void 0) { minRowCount = 0; }
|
|
3758
3869
|
if (minColumnCount === void 0) { minColumnCount = 0; }
|
|
@@ -3787,14 +3898,14 @@ var XlsxPlugin = /** @class */ (function (_super) {
|
|
|
3787
3898
|
return [3 /*break*/, 2];
|
|
3788
3899
|
case 5: return [3 /*break*/, 8];
|
|
3789
3900
|
case 6:
|
|
3790
|
-
|
|
3791
|
-
|
|
3901
|
+
e_34_1 = _c.sent();
|
|
3902
|
+
e_34 = { error: e_34_1 };
|
|
3792
3903
|
return [3 /*break*/, 8];
|
|
3793
3904
|
case 7:
|
|
3794
3905
|
try {
|
|
3795
3906
|
if (workSheets_1_1 && !workSheets_1_1.done && (_a = workSheets_1.return)) _a.call(workSheets_1);
|
|
3796
3907
|
}
|
|
3797
|
-
finally { if (
|
|
3908
|
+
finally { if (e_34) throw e_34.error; }
|
|
3798
3909
|
return [7 /*endfinally*/];
|
|
3799
3910
|
case 8: return [2 /*return*/, [sheets, tables]];
|
|
3800
3911
|
}
|
|
@@ -3852,8 +3963,8 @@ var XlsxPlugin = /** @class */ (function (_super) {
|
|
|
3852
3963
|
};
|
|
3853
3964
|
XlsxPlugin.prototype.buildSheetFromElement = function (element_1) {
|
|
3854
3965
|
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
|
|
3966
|
+
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;
|
|
3967
|
+
var e_35, _b;
|
|
3857
3968
|
var _c;
|
|
3858
3969
|
if (minRowCount === void 0) { minRowCount = 0; }
|
|
3859
3970
|
if (minColumnCount === void 0) { minColumnCount = 0; }
|
|
@@ -3885,7 +3996,17 @@ var XlsxPlugin = /** @class */ (function (_super) {
|
|
|
3885
3996
|
return [4 /*yield*/, this.getSheetMetadata(rid)];
|
|
3886
3997
|
case 1:
|
|
3887
3998
|
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;
|
|
3999
|
+
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;
|
|
4000
|
+
if (sheetProtection) {
|
|
4001
|
+
sheet_1.sheetProtection = sheetProtection;
|
|
4002
|
+
}
|
|
4003
|
+
{
|
|
4004
|
+
printNames = this.printNamesBySheetId.get(sheetId);
|
|
4005
|
+
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 }));
|
|
4006
|
+
if (merged)
|
|
4007
|
+
sheet_1.printSettings = merged;
|
|
4008
|
+
}
|
|
4009
|
+
this.protectedRangesBySheet.set(sheetId, protectedRangesFromEntries(sheetId, protectedRangeEntries));
|
|
3889
4010
|
if (defaultRowHeightPx !== undefined) {
|
|
3890
4011
|
sheet_1.defaultRowHeight = defaultRowHeightPx;
|
|
3891
4012
|
}
|
|
@@ -3917,7 +4038,7 @@ var XlsxPlugin = /** @class */ (function (_super) {
|
|
|
3917
4038
|
}
|
|
3918
4039
|
});
|
|
3919
4040
|
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;
|
|
4041
|
+
_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
4042
|
sheet_1.frozenRowCount = frozenRowCount;
|
|
3922
4043
|
sheet_1.frozenColumnCount = frozenColumnCount;
|
|
3923
4044
|
if (paneTopLeftCell) {
|
|
@@ -3933,6 +4054,8 @@ var XlsxPlugin = /** @class */ (function (_super) {
|
|
|
3933
4054
|
if (zoomScale !== undefined && zoomScale !== 100) {
|
|
3934
4055
|
sheet_1.zoomScale = zoomScale;
|
|
3935
4056
|
}
|
|
4057
|
+
if (rightToLeft)
|
|
4058
|
+
sheet_1.rightToLeft = true;
|
|
3936
4059
|
// tab color
|
|
3937
4060
|
if (tabColor) {
|
|
3938
4061
|
sheet_1.tabColor = extractColor(tabColor, this.workbookStyles.indexedColors);
|
|
@@ -3952,12 +4075,12 @@ var XlsxPlugin = /** @class */ (function (_super) {
|
|
|
3952
4075
|
sheet_1.merges.push(range);
|
|
3953
4076
|
}
|
|
3954
4077
|
}
|
|
3955
|
-
catch (
|
|
4078
|
+
catch (e_35_1) { e_35 = { error: e_35_1 }; }
|
|
3956
4079
|
finally {
|
|
3957
4080
|
try {
|
|
3958
4081
|
if (merges_2_1 && !merges_2_1.done && (_b = merges_2.return)) _b.call(merges_2);
|
|
3959
4082
|
}
|
|
3960
|
-
finally { if (
|
|
4083
|
+
finally { if (e_35) throw e_35.error; }
|
|
3961
4084
|
}
|
|
3962
4085
|
columnCount = findMax([maxColumnIndex, minColumnCount]);
|
|
3963
4086
|
rowEntries.forEach(function (entry, rowIndex) {
|
|
@@ -4045,8 +4168,8 @@ var XlsxPlugin = /** @class */ (function (_super) {
|
|
|
4045
4168
|
};
|
|
4046
4169
|
XlsxPlugin.prototype.processSheetData = function () {
|
|
4047
4170
|
return __asyncGenerator(this, arguments, function processSheetData_1(chunkSize, enableCellXfsRegistry, _enableSharedStrings, onPhase) {
|
|
4048
|
-
var workSheets, totalSheets, currentSheetIndex, workSheets_2, workSheets_2_1, element,
|
|
4049
|
-
var
|
|
4171
|
+
var workSheets, totalSheets, currentSheetIndex, workSheets_2, workSheets_2_1, element, e_36_1;
|
|
4172
|
+
var e_36, _a;
|
|
4050
4173
|
var _b;
|
|
4051
4174
|
if (chunkSize === void 0) { chunkSize = 100; }
|
|
4052
4175
|
if (enableCellXfsRegistry === void 0) { enableCellXfsRegistry = false; }
|
|
@@ -4085,14 +4208,14 @@ var XlsxPlugin = /** @class */ (function (_super) {
|
|
|
4085
4208
|
return [3 /*break*/, 2];
|
|
4086
4209
|
case 6: return [3 /*break*/, 9];
|
|
4087
4210
|
case 7:
|
|
4088
|
-
|
|
4089
|
-
|
|
4211
|
+
e_36_1 = _c.sent();
|
|
4212
|
+
e_36 = { error: e_36_1 };
|
|
4090
4213
|
return [3 /*break*/, 9];
|
|
4091
4214
|
case 8:
|
|
4092
4215
|
try {
|
|
4093
4216
|
if (workSheets_2_1 && !workSheets_2_1.done && (_a = workSheets_2.return)) _a.call(workSheets_2);
|
|
4094
4217
|
}
|
|
4095
|
-
finally { if (
|
|
4218
|
+
finally { if (e_36) throw e_36.error; }
|
|
4096
4219
|
return [7 /*endfinally*/];
|
|
4097
4220
|
case 9: return [2 /*return*/];
|
|
4098
4221
|
}
|
|
@@ -4142,10 +4265,10 @@ var XlsxPlugin = /** @class */ (function (_super) {
|
|
|
4142
4265
|
};
|
|
4143
4266
|
XlsxPlugin.prototype.processOneSheet = function (element_1, _a) {
|
|
4144
4267
|
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
|
|
4268
|
+
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;
|
|
4269
|
+
var e_39, _o, e_38, _p;
|
|
4147
4270
|
var _this = this;
|
|
4148
|
-
var _q,
|
|
4271
|
+
var _q, e_37, _r, _s;
|
|
4149
4272
|
var _t, _u, _v, _w, _x, _y, _z, _0, _1, _2, _3, _4;
|
|
4150
4273
|
var chunkSize = _b.chunkSize, enableCellXfsRegistry = _b.enableCellXfsRegistry, _enableSharedStrings = _b.enableSharedStrings, onPhase = _b.onPhase, currentSheetIndex = _b.currentSheetIndex, totalSheets = _b.totalSheets;
|
|
4151
4274
|
return __generator(this, function (_5) {
|
|
@@ -4175,12 +4298,12 @@ var XlsxPlugin = /** @class */ (function (_super) {
|
|
|
4175
4298
|
}
|
|
4176
4299
|
}
|
|
4177
4300
|
}
|
|
4178
|
-
catch (
|
|
4301
|
+
catch (e_39_1) { e_39 = { error: e_39_1 }; }
|
|
4179
4302
|
finally {
|
|
4180
4303
|
try {
|
|
4181
4304
|
if (_d && !_d.done && (_o = _c.return)) _o.call(_c);
|
|
4182
4305
|
}
|
|
4183
|
-
finally { if (
|
|
4306
|
+
finally { if (e_39) throw e_39.error; }
|
|
4184
4307
|
}
|
|
4185
4308
|
styleCellTemplates_1 = new Map();
|
|
4186
4309
|
getTemplateForStyleIndex = function (styleIndex) {
|
|
@@ -4194,7 +4317,7 @@ var XlsxPlugin = /** @class */ (function (_super) {
|
|
|
4194
4317
|
styleMaterializeBudget = STYLE_MATERIALIZE_CELL_BUDGET;
|
|
4195
4318
|
mergeRangesByRow_1 = this.buildMergeRangesByRow(metadata.merges);
|
|
4196
4319
|
getMergeRangeForCell = function (rowIndex, columnIndex) {
|
|
4197
|
-
var
|
|
4320
|
+
var e_40, _a;
|
|
4198
4321
|
var ranges = mergeRangesByRow_1.get(rowIndex);
|
|
4199
4322
|
if (!ranges)
|
|
4200
4323
|
return undefined;
|
|
@@ -4207,12 +4330,12 @@ var XlsxPlugin = /** @class */ (function (_super) {
|
|
|
4207
4330
|
}
|
|
4208
4331
|
}
|
|
4209
4332
|
}
|
|
4210
|
-
catch (
|
|
4333
|
+
catch (e_40_1) { e_40 = { error: e_40_1 }; }
|
|
4211
4334
|
finally {
|
|
4212
4335
|
try {
|
|
4213
4336
|
if (ranges_1_1 && !ranges_1_1.done && (_a = ranges_1.return)) _a.call(ranges_1);
|
|
4214
4337
|
}
|
|
4215
|
-
finally { if (
|
|
4338
|
+
finally { if (e_40) throw e_40.error; }
|
|
4216
4339
|
}
|
|
4217
4340
|
return undefined;
|
|
4218
4341
|
};
|
|
@@ -4312,7 +4435,7 @@ var XlsxPlugin = /** @class */ (function (_super) {
|
|
|
4312
4435
|
_5.trys.push([9, 15, 16, 21]);
|
|
4313
4436
|
_loop_7 = function () {
|
|
4314
4437
|
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
|
|
4438
|
+
var e_41, _19, e_42, _20, e_43, _21, e_44, _22, e_45, _23;
|
|
4316
4439
|
return __generator(this, function (_24) {
|
|
4317
4440
|
switch (_24.label) {
|
|
4318
4441
|
case 0:
|
|
@@ -4354,7 +4477,7 @@ var XlsxPlugin = /** @class */ (function (_super) {
|
|
|
4354
4477
|
cellArray = Array.isArray(cells) ? cells : [cells];
|
|
4355
4478
|
seqColIndex = 1;
|
|
4356
4479
|
try {
|
|
4357
|
-
for (cellArray_1 = (
|
|
4480
|
+
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
4481
|
cell = cellArray_1_1.value;
|
|
4359
4482
|
if (!cell || !cell.a$) {
|
|
4360
4483
|
seqColIndex++;
|
|
@@ -4381,12 +4504,12 @@ var XlsxPlugin = /** @class */ (function (_super) {
|
|
|
4381
4504
|
rowCellsByColumnIndex.set(columnIndex, cell);
|
|
4382
4505
|
}
|
|
4383
4506
|
}
|
|
4384
|
-
catch (
|
|
4507
|
+
catch (e_41_1) { e_41 = { error: e_41_1 }; }
|
|
4385
4508
|
finally {
|
|
4386
4509
|
try {
|
|
4387
4510
|
if (cellArray_1_1 && !cellArray_1_1.done && (_19 = cellArray_1.return)) _19.call(cellArray_1);
|
|
4388
4511
|
}
|
|
4389
|
-
finally { if (
|
|
4512
|
+
finally { if (e_41) throw e_41.error; }
|
|
4390
4513
|
}
|
|
4391
4514
|
// Second pass: process each cell
|
|
4392
4515
|
seqColIndex = 1;
|
|
@@ -4460,7 +4583,7 @@ var XlsxPlugin = /** @class */ (function (_super) {
|
|
|
4460
4583
|
}
|
|
4461
4584
|
if (rowHyperlinks) {
|
|
4462
4585
|
try {
|
|
4463
|
-
for (_6 = (
|
|
4586
|
+
for (_6 = (e_42 = void 0, __values(rowHyperlinks.entries())), _7 = _6.next(); !_7.done; _7 = _6.next()) {
|
|
4464
4587
|
_8 = __read(_7.value, 2), columnIndex = _8[0], hyperlink = _8[1];
|
|
4465
4588
|
if (rowData.values[columnIndex]) {
|
|
4466
4589
|
if (!((_y = rowData.values[columnIndex]) === null || _y === void 0 ? void 0 : _y.hyperlink)) {
|
|
@@ -4472,18 +4595,18 @@ var XlsxPlugin = /** @class */ (function (_super) {
|
|
|
4472
4595
|
}
|
|
4473
4596
|
}
|
|
4474
4597
|
}
|
|
4475
|
-
catch (
|
|
4598
|
+
catch (e_42_1) { e_42 = { error: e_42_1 }; }
|
|
4476
4599
|
finally {
|
|
4477
4600
|
try {
|
|
4478
4601
|
if (_7 && !_7.done && (_20 = _6.return)) _20.call(_6);
|
|
4479
4602
|
}
|
|
4480
|
-
finally { if (
|
|
4603
|
+
finally { if (e_42) throw e_42.error; }
|
|
4481
4604
|
}
|
|
4482
4605
|
hyperlinksByRow.delete(rowIndex);
|
|
4483
4606
|
}
|
|
4484
4607
|
if (rowComments) {
|
|
4485
4608
|
try {
|
|
4486
|
-
for (_9 = (
|
|
4609
|
+
for (_9 = (e_43 = void 0, __values(rowComments.entries())), _10 = _9.next(); !_10.done; _10 = _9.next()) {
|
|
4487
4610
|
_11 = __read(_10.value, 2), columnIndex = _11[0], text = _11[1];
|
|
4488
4611
|
if (rowData.values[columnIndex]) {
|
|
4489
4612
|
if (!((_z = rowData.values[columnIndex]) === null || _z === void 0 ? void 0 : _z.note)) {
|
|
@@ -4495,18 +4618,18 @@ var XlsxPlugin = /** @class */ (function (_super) {
|
|
|
4495
4618
|
}
|
|
4496
4619
|
}
|
|
4497
4620
|
}
|
|
4498
|
-
catch (
|
|
4621
|
+
catch (e_43_1) { e_43 = { error: e_43_1 }; }
|
|
4499
4622
|
finally {
|
|
4500
4623
|
try {
|
|
4501
4624
|
if (_10 && !_10.done && (_21 = _9.return)) _21.call(_9);
|
|
4502
4625
|
}
|
|
4503
|
-
finally { if (
|
|
4626
|
+
finally { if (e_43) throw e_43.error; }
|
|
4504
4627
|
}
|
|
4505
4628
|
commentsByRow_1.delete(rowIndex);
|
|
4506
4629
|
}
|
|
4507
4630
|
if (rowThreads) {
|
|
4508
4631
|
try {
|
|
4509
|
-
for (_12 = (
|
|
4632
|
+
for (_12 = (e_44 = void 0, __values(rowThreads.entries())), _13 = _12.next(); !_13.done; _13 = _12.next()) {
|
|
4510
4633
|
_14 = __read(_13.value, 2), columnIndex = _14[0], threadId = _14[1];
|
|
4511
4634
|
if (rowData.values[columnIndex]) {
|
|
4512
4635
|
if (!((_0 = rowData.values[columnIndex]) === null || _0 === void 0 ? void 0 : _0.commentThreadId)) {
|
|
@@ -4520,19 +4643,19 @@ var XlsxPlugin = /** @class */ (function (_super) {
|
|
|
4520
4643
|
}
|
|
4521
4644
|
}
|
|
4522
4645
|
}
|
|
4523
|
-
catch (
|
|
4646
|
+
catch (e_44_1) { e_44 = { error: e_44_1 }; }
|
|
4524
4647
|
finally {
|
|
4525
4648
|
try {
|
|
4526
4649
|
if (_13 && !_13.done && (_22 = _12.return)) _22.call(_12);
|
|
4527
4650
|
}
|
|
4528
|
-
finally { if (
|
|
4651
|
+
finally { if (e_44) throw e_44.error; }
|
|
4529
4652
|
}
|
|
4530
4653
|
threadsByRow_1.delete(rowIndex);
|
|
4531
4654
|
}
|
|
4532
4655
|
rowSparklines = sparklinesByRow.get(rowIndex);
|
|
4533
4656
|
if (rowSparklines) {
|
|
4534
4657
|
try {
|
|
4535
|
-
for (_15 = (
|
|
4658
|
+
for (_15 = (e_45 = void 0, __values(rowSparklines.entries())), _16 = _15.next(); !_16.done; _16 = _15.next()) {
|
|
4536
4659
|
_17 = __read(_16.value, 2), columnIndex = _17[0], sparkline = _17[1];
|
|
4537
4660
|
existingCell = rowData.values[columnIndex];
|
|
4538
4661
|
// Only set formula if cell doesn't already have one
|
|
@@ -4627,12 +4750,12 @@ var XlsxPlugin = /** @class */ (function (_super) {
|
|
|
4627
4750
|
rowData.values[columnIndex] = cellData;
|
|
4628
4751
|
}
|
|
4629
4752
|
}
|
|
4630
|
-
catch (
|
|
4753
|
+
catch (e_45_1) { e_45 = { error: e_45_1 }; }
|
|
4631
4754
|
finally {
|
|
4632
4755
|
try {
|
|
4633
4756
|
if (_16 && !_16.done && (_23 = _15.return)) _23.call(_15);
|
|
4634
4757
|
}
|
|
4635
|
-
finally { if (
|
|
4758
|
+
finally { if (e_45) throw e_45.error; }
|
|
4636
4759
|
}
|
|
4637
4760
|
sparklinesByRow.delete(rowIndex);
|
|
4638
4761
|
}
|
|
@@ -4667,8 +4790,8 @@ var XlsxPlugin = /** @class */ (function (_super) {
|
|
|
4667
4790
|
return [3 /*break*/, 10];
|
|
4668
4791
|
case 14: return [3 /*break*/, 21];
|
|
4669
4792
|
case 15:
|
|
4670
|
-
|
|
4671
|
-
|
|
4793
|
+
e_37_1 = _5.sent();
|
|
4794
|
+
e_37 = { error: e_37_1 };
|
|
4672
4795
|
return [3 /*break*/, 21];
|
|
4673
4796
|
case 16:
|
|
4674
4797
|
_5.trys.push([16, , 19, 20]);
|
|
@@ -4679,7 +4802,7 @@ var XlsxPlugin = /** @class */ (function (_super) {
|
|
|
4679
4802
|
_5.label = 18;
|
|
4680
4803
|
case 18: return [3 /*break*/, 20];
|
|
4681
4804
|
case 19:
|
|
4682
|
-
if (
|
|
4805
|
+
if (e_37) throw e_37.error;
|
|
4683
4806
|
return [7 /*endfinally*/];
|
|
4684
4807
|
case 20: return [7 /*endfinally*/];
|
|
4685
4808
|
case 21:
|
|
@@ -4712,14 +4835,14 @@ var XlsxPlugin = /** @class */ (function (_super) {
|
|
|
4712
4835
|
return [3 /*break*/, 23];
|
|
4713
4836
|
case 27: return [3 /*break*/, 30];
|
|
4714
4837
|
case 28:
|
|
4715
|
-
|
|
4716
|
-
|
|
4838
|
+
e_38_1 = _5.sent();
|
|
4839
|
+
e_38 = { error: e_38_1 };
|
|
4717
4840
|
return [3 /*break*/, 30];
|
|
4718
4841
|
case 29:
|
|
4719
4842
|
try {
|
|
4720
4843
|
if (_m && !_m.done && (_p = _l.return)) _p.call(_l);
|
|
4721
4844
|
}
|
|
4722
|
-
finally { if (
|
|
4845
|
+
finally { if (e_38) throw e_38.error; }
|
|
4723
4846
|
return [7 /*endfinally*/];
|
|
4724
4847
|
case 30:
|
|
4725
4848
|
finalPayload = flushChunk(true);
|
|
@@ -4736,8 +4859,8 @@ var XlsxPlugin = /** @class */ (function (_super) {
|
|
|
4736
4859
|
};
|
|
4737
4860
|
XlsxPlugin.prototype.getDrawings = function () {
|
|
4738
4861
|
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
|
|
4862
|
+
var workSheets, allDrawings, workSheets_3, workSheets_3_1, element, sheetId, rid, features, sheet_data, drawings, e_46_1;
|
|
4863
|
+
var e_46, _a;
|
|
4741
4864
|
return __generator(this, function (_b) {
|
|
4742
4865
|
switch (_b.label) {
|
|
4743
4866
|
case 0:
|
|
@@ -4770,14 +4893,14 @@ var XlsxPlugin = /** @class */ (function (_super) {
|
|
|
4770
4893
|
return [3 /*break*/, 2];
|
|
4771
4894
|
case 6: return [3 /*break*/, 9];
|
|
4772
4895
|
case 7:
|
|
4773
|
-
|
|
4774
|
-
|
|
4896
|
+
e_46_1 = _b.sent();
|
|
4897
|
+
e_46 = { error: e_46_1 };
|
|
4775
4898
|
return [3 /*break*/, 9];
|
|
4776
4899
|
case 8:
|
|
4777
4900
|
try {
|
|
4778
4901
|
if (workSheets_3_1 && !workSheets_3_1.done && (_a = workSheets_3.return)) _a.call(workSheets_3);
|
|
4779
4902
|
}
|
|
4780
|
-
finally { if (
|
|
4903
|
+
finally { if (e_46) throw e_46.error; }
|
|
4781
4904
|
return [7 /*endfinally*/];
|
|
4782
4905
|
case 9: return [2 /*return*/, allDrawings];
|
|
4783
4906
|
}
|
|
@@ -4786,8 +4909,8 @@ var XlsxPlugin = /** @class */ (function (_super) {
|
|
|
4786
4909
|
};
|
|
4787
4910
|
XlsxPlugin.prototype.getCharts = function () {
|
|
4788
4911
|
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
|
|
4912
|
+
var allCharts, workSheets, workSheets_4, workSheets_4_1, element, sheetId, rid, features, sheet_data, charts, e_47_1;
|
|
4913
|
+
var e_47, _a;
|
|
4791
4914
|
return __generator(this, function (_b) {
|
|
4792
4915
|
switch (_b.label) {
|
|
4793
4916
|
case 0:
|
|
@@ -4820,14 +4943,14 @@ var XlsxPlugin = /** @class */ (function (_super) {
|
|
|
4820
4943
|
return [3 /*break*/, 2];
|
|
4821
4944
|
case 6: return [3 /*break*/, 9];
|
|
4822
4945
|
case 7:
|
|
4823
|
-
|
|
4824
|
-
|
|
4946
|
+
e_47_1 = _b.sent();
|
|
4947
|
+
e_47 = { error: e_47_1 };
|
|
4825
4948
|
return [3 /*break*/, 9];
|
|
4826
4949
|
case 8:
|
|
4827
4950
|
try {
|
|
4828
4951
|
if (workSheets_4_1 && !workSheets_4_1.done && (_a = workSheets_4.return)) _a.call(workSheets_4);
|
|
4829
4952
|
}
|
|
4830
|
-
finally { if (
|
|
4953
|
+
finally { if (e_47) throw e_47.error; }
|
|
4831
4954
|
return [7 /*endfinally*/];
|
|
4832
4955
|
case 9: return [2 /*return*/, allCharts];
|
|
4833
4956
|
}
|
|
@@ -4842,8 +4965,8 @@ var XlsxPlugin = /** @class */ (function (_super) {
|
|
|
4842
4965
|
*/
|
|
4843
4966
|
XlsxPlugin.prototype.getPivotTables = function () {
|
|
4844
4967
|
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
|
|
4968
|
+
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_48_1;
|
|
4969
|
+
var e_49, _b, e_48, _c;
|
|
4847
4970
|
var _d, _e, _f;
|
|
4848
4971
|
return __generator(this, function (_g) {
|
|
4849
4972
|
switch (_g.label) {
|
|
@@ -4862,12 +4985,12 @@ var XlsxPlugin = /** @class */ (function (_super) {
|
|
|
4862
4985
|
sheetNameToId.set(name_9, id);
|
|
4863
4986
|
}
|
|
4864
4987
|
}
|
|
4865
|
-
catch (
|
|
4988
|
+
catch (e_49_1) { e_49 = { error: e_49_1 }; }
|
|
4866
4989
|
finally {
|
|
4867
4990
|
try {
|
|
4868
4991
|
if (workSheets_5_1 && !workSheets_5_1.done && (_b = workSheets_5.return)) _b.call(workSheets_5);
|
|
4869
4992
|
}
|
|
4870
|
-
finally { if (
|
|
4993
|
+
finally { if (e_49) throw e_49.error; }
|
|
4871
4994
|
}
|
|
4872
4995
|
pivotIdCounter = 1;
|
|
4873
4996
|
nextPivotId = function () { return "imported-pivot-".concat(pivotIdCounter++); };
|
|
@@ -4936,14 +5059,14 @@ var XlsxPlugin = /** @class */ (function (_super) {
|
|
|
4936
5059
|
return [3 /*break*/, 3];
|
|
4937
5060
|
case 10: return [3 /*break*/, 13];
|
|
4938
5061
|
case 11:
|
|
4939
|
-
|
|
4940
|
-
|
|
5062
|
+
e_48_1 = _g.sent();
|
|
5063
|
+
e_48 = { error: e_48_1 };
|
|
4941
5064
|
return [3 /*break*/, 13];
|
|
4942
5065
|
case 12:
|
|
4943
5066
|
try {
|
|
4944
5067
|
if (workSheets_6_1 && !workSheets_6_1.done && (_c = workSheets_6.return)) _c.call(workSheets_6);
|
|
4945
5068
|
}
|
|
4946
|
-
finally { if (
|
|
5069
|
+
finally { if (e_48) throw e_48.error; }
|
|
4947
5070
|
return [7 /*endfinally*/];
|
|
4948
5071
|
case 13: return [2 /*return*/, all];
|
|
4949
5072
|
}
|
|
@@ -4960,8 +5083,8 @@ var XlsxPlugin = /** @class */ (function (_super) {
|
|
|
4960
5083
|
*/
|
|
4961
5084
|
XlsxPlugin.prototype.getPowerQuery = function () {
|
|
4962
5085
|
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
|
|
5086
|
+
var customXmlParts, connectionsXml, _a, _b, rel, type, itemPath, itemXml, propsXml, itemRelsPath, itemRels, _c, _d, relList, relArray, propsRel, propsPath, path, e_50_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_51_1, e_52_1, parts;
|
|
5087
|
+
var e_50, _o, e_52, _p, e_51, _q;
|
|
4965
5088
|
var _r, _s, _t, _u, _v, _w;
|
|
4966
5089
|
return __generator(this, function (_x) {
|
|
4967
5090
|
switch (_x.label) {
|
|
@@ -5023,14 +5146,14 @@ var XlsxPlugin = /** @class */ (function (_super) {
|
|
|
5023
5146
|
return [3 /*break*/, 2];
|
|
5024
5147
|
case 10: return [3 /*break*/, 13];
|
|
5025
5148
|
case 11:
|
|
5026
|
-
|
|
5027
|
-
|
|
5149
|
+
e_50_1 = _x.sent();
|
|
5150
|
+
e_50 = { error: e_50_1 };
|
|
5028
5151
|
return [3 /*break*/, 13];
|
|
5029
5152
|
case 12:
|
|
5030
5153
|
try {
|
|
5031
5154
|
if (_b && !_b.done && (_o = _a.return)) _o.call(_a);
|
|
5032
5155
|
}
|
|
5033
|
-
finally { if (
|
|
5156
|
+
finally { if (e_50) throw e_50.error; }
|
|
5034
5157
|
return [7 /*endfinally*/];
|
|
5035
5158
|
case 13:
|
|
5036
5159
|
queryTables = [];
|
|
@@ -5059,7 +5182,7 @@ var XlsxPlugin = /** @class */ (function (_super) {
|
|
|
5059
5182
|
_x.label = 17;
|
|
5060
5183
|
case 17:
|
|
5061
5184
|
_x.trys.push([17, 24, 25, 26]);
|
|
5062
|
-
relArray_1 = (
|
|
5185
|
+
relArray_1 = (e_51 = void 0, __values(relArray)), relArray_1_1 = relArray_1.next();
|
|
5063
5186
|
_x.label = 18;
|
|
5064
5187
|
case 18:
|
|
5065
5188
|
if (!!relArray_1_1.done) return [3 /*break*/, 23];
|
|
@@ -5121,28 +5244,28 @@ var XlsxPlugin = /** @class */ (function (_super) {
|
|
|
5121
5244
|
return [3 /*break*/, 18];
|
|
5122
5245
|
case 23: return [3 /*break*/, 26];
|
|
5123
5246
|
case 24:
|
|
5124
|
-
|
|
5125
|
-
|
|
5247
|
+
e_51_1 = _x.sent();
|
|
5248
|
+
e_51 = { error: e_51_1 };
|
|
5126
5249
|
return [3 /*break*/, 26];
|
|
5127
5250
|
case 25:
|
|
5128
5251
|
try {
|
|
5129
5252
|
if (relArray_1_1 && !relArray_1_1.done && (_q = relArray_1.return)) _q.call(relArray_1);
|
|
5130
5253
|
}
|
|
5131
|
-
finally { if (
|
|
5254
|
+
finally { if (e_51) throw e_51.error; }
|
|
5132
5255
|
return [7 /*endfinally*/];
|
|
5133
5256
|
case 26:
|
|
5134
5257
|
_f = _e.next();
|
|
5135
5258
|
return [3 /*break*/, 15];
|
|
5136
5259
|
case 27: return [3 /*break*/, 30];
|
|
5137
5260
|
case 28:
|
|
5138
|
-
|
|
5139
|
-
|
|
5261
|
+
e_52_1 = _x.sent();
|
|
5262
|
+
e_52 = { error: e_52_1 };
|
|
5140
5263
|
return [3 /*break*/, 30];
|
|
5141
5264
|
case 29:
|
|
5142
5265
|
try {
|
|
5143
5266
|
if (_f && !_f.done && (_p = _e.return)) _p.call(_e);
|
|
5144
5267
|
}
|
|
5145
|
-
finally { if (
|
|
5268
|
+
finally { if (e_52) throw e_52.error; }
|
|
5146
5269
|
return [7 /*endfinally*/];
|
|
5147
5270
|
case 30:
|
|
5148
5271
|
parts = {};
|
|
@@ -5159,8 +5282,8 @@ var XlsxPlugin = /** @class */ (function (_super) {
|
|
|
5159
5282
|
};
|
|
5160
5283
|
XlsxPlugin.prototype.getConditionalFormatting = function () {
|
|
5161
5284
|
return __awaiter(this, void 0, void 0, function () {
|
|
5162
|
-
var conditionalFormatting, _a, _b, element, _c, _d, _e, _f,
|
|
5163
|
-
var
|
|
5285
|
+
var conditionalFormatting, _a, _b, element, _c, _d, _e, _f, e_53_1;
|
|
5286
|
+
var e_53, _g;
|
|
5164
5287
|
return __generator(this, function (_h) {
|
|
5165
5288
|
switch (_h.label) {
|
|
5166
5289
|
case 0:
|
|
@@ -5185,14 +5308,14 @@ var XlsxPlugin = /** @class */ (function (_super) {
|
|
|
5185
5308
|
return [3 /*break*/, 2];
|
|
5186
5309
|
case 5: return [3 /*break*/, 8];
|
|
5187
5310
|
case 6:
|
|
5188
|
-
|
|
5189
|
-
|
|
5311
|
+
e_53_1 = _h.sent();
|
|
5312
|
+
e_53 = { error: e_53_1 };
|
|
5190
5313
|
return [3 /*break*/, 8];
|
|
5191
5314
|
case 7:
|
|
5192
5315
|
try {
|
|
5193
5316
|
if (_b && !_b.done && (_g = _a.return)) _g.call(_a);
|
|
5194
5317
|
}
|
|
5195
|
-
finally { if (
|
|
5318
|
+
finally { if (e_53) throw e_53.error; }
|
|
5196
5319
|
return [7 /*endfinally*/];
|
|
5197
5320
|
case 8: return [2 /*return*/, conditionalFormatting];
|
|
5198
5321
|
}
|
|
@@ -5232,8 +5355,8 @@ var XlsxPlugin = /** @class */ (function (_super) {
|
|
|
5232
5355
|
};
|
|
5233
5356
|
XlsxPlugin.prototype.getDataValidations = function () {
|
|
5234
5357
|
return __awaiter(this, void 0, void 0, function () {
|
|
5235
|
-
var dataValidations, _a, _b, element, _c, _d, _e, _f,
|
|
5236
|
-
var
|
|
5358
|
+
var dataValidations, _a, _b, element, _c, _d, _e, _f, e_54_1;
|
|
5359
|
+
var e_54, _g;
|
|
5237
5360
|
return __generator(this, function (_h) {
|
|
5238
5361
|
switch (_h.label) {
|
|
5239
5362
|
case 0:
|
|
@@ -5258,14 +5381,14 @@ var XlsxPlugin = /** @class */ (function (_super) {
|
|
|
5258
5381
|
return [3 /*break*/, 2];
|
|
5259
5382
|
case 5: return [3 /*break*/, 8];
|
|
5260
5383
|
case 6:
|
|
5261
|
-
|
|
5262
|
-
|
|
5384
|
+
e_54_1 = _h.sent();
|
|
5385
|
+
e_54 = { error: e_54_1 };
|
|
5263
5386
|
return [3 /*break*/, 8];
|
|
5264
5387
|
case 7:
|
|
5265
5388
|
try {
|
|
5266
5389
|
if (_b && !_b.done && (_g = _a.return)) _g.call(_a);
|
|
5267
5390
|
}
|
|
5268
|
-
finally { if (
|
|
5391
|
+
finally { if (e_54) throw e_54.error; }
|
|
5269
5392
|
return [7 /*endfinally*/];
|
|
5270
5393
|
case 8: return [2 /*return*/, dataValidations];
|
|
5271
5394
|
}
|
|
@@ -5305,6 +5428,19 @@ var XlsxPlugin = /** @class */ (function (_super) {
|
|
|
5305
5428
|
});
|
|
5306
5429
|
});
|
|
5307
5430
|
};
|
|
5431
|
+
/**
|
|
5432
|
+
* Allow-edit ranges (`<protectedRanges>/<protectedRange>`) in the model the
|
|
5433
|
+
* `protect-range` command writes: `protectedRangeId` = the source `name`,
|
|
5434
|
+
* `range` = the first `sqref` area plus `sheetId`. Available after
|
|
5435
|
+
* `getSheets()`; sheet-level `<sheetProtection>` rides `Sheet.sheetProtection`.
|
|
5436
|
+
*/
|
|
5437
|
+
XlsxPlugin.prototype.getProtectedRanges = function (sheetId) {
|
|
5438
|
+
var _a;
|
|
5439
|
+
if (sheetId !== undefined) {
|
|
5440
|
+
return (_a = this.protectedRangesBySheet.get(sheetId)) !== null && _a !== void 0 ? _a : [];
|
|
5441
|
+
}
|
|
5442
|
+
return Array.from(this.protectedRangesBySheet.values()).flat();
|
|
5443
|
+
};
|
|
5308
5444
|
XlsxPlugin.prototype.getNamedRanges = function () {
|
|
5309
5445
|
return this.namedRanges;
|
|
5310
5446
|
};
|
|
@@ -5317,7 +5453,7 @@ var XlsxPlugin = /** @class */ (function (_super) {
|
|
|
5317
5453
|
XlsxPlugin.prototype.getProperties = function () {
|
|
5318
5454
|
return __awaiter(this, void 0, void 0, function () {
|
|
5319
5455
|
var props, tryRead, coreXml, parsed, root, textOf_1, appXml, parsed, root, textOf, _a, _b, key;
|
|
5320
|
-
var
|
|
5456
|
+
var e_55, _c;
|
|
5321
5457
|
var _this = this;
|
|
5322
5458
|
var _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q;
|
|
5323
5459
|
return __generator(this, function (_r) {
|
|
@@ -5401,12 +5537,12 @@ var XlsxPlugin = /** @class */ (function (_super) {
|
|
|
5401
5537
|
}
|
|
5402
5538
|
}
|
|
5403
5539
|
}
|
|
5404
|
-
catch (
|
|
5540
|
+
catch (e_55_1) { e_55 = { error: e_55_1 }; }
|
|
5405
5541
|
finally {
|
|
5406
5542
|
try {
|
|
5407
5543
|
if (_b && !_b.done && (_c = _a.return)) _c.call(_a);
|
|
5408
5544
|
}
|
|
5409
|
-
finally { if (
|
|
5545
|
+
finally { if (e_55) throw e_55.error; }
|
|
5410
5546
|
}
|
|
5411
5547
|
return [2 /*return*/, Object.keys(props).length ? props : undefined];
|
|
5412
5548
|
}
|
|
@@ -5422,8 +5558,8 @@ var XlsxPlugin = /** @class */ (function (_super) {
|
|
|
5422
5558
|
};
|
|
5423
5559
|
XlsxPlugin.prototype.getSlicersForWorkbook = function () {
|
|
5424
5560
|
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
|
|
5561
|
+
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_56_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_57_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_58_1, slicer, err_7, e_59_1, err_8;
|
|
5562
|
+
var e_60, _c, e_56, _d, e_61, _e, e_57, _f, e_62, _g, e_59, _h, e_58, _j, e_63, _k, e_64, _l;
|
|
5427
5563
|
var _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z;
|
|
5428
5564
|
return __generator(this, function (_0) {
|
|
5429
5565
|
switch (_0.label) {
|
|
@@ -5472,12 +5608,12 @@ var XlsxPlugin = /** @class */ (function (_super) {
|
|
|
5472
5608
|
addSlicerPath(this.resolveSheetPath(target));
|
|
5473
5609
|
}
|
|
5474
5610
|
}
|
|
5475
|
-
catch (
|
|
5611
|
+
catch (e_60_1) { e_60 = { error: e_60_1 }; }
|
|
5476
5612
|
finally {
|
|
5477
5613
|
try {
|
|
5478
5614
|
if (slicerRels_1_1 && !slicerRels_1_1.done && (_c = slicerRels_1.return)) _c.call(slicerRels_1);
|
|
5479
5615
|
}
|
|
5480
|
-
finally { if (
|
|
5616
|
+
finally { if (e_60) throw e_60.error; }
|
|
5481
5617
|
}
|
|
5482
5618
|
workSheets = this._getSheets();
|
|
5483
5619
|
sheetRelContext = new Map();
|
|
@@ -5524,7 +5660,7 @@ var XlsxPlugin = /** @class */ (function (_super) {
|
|
|
5524
5660
|
"http://schemas.microsoft.com/office/2007/relationships/slicer";
|
|
5525
5661
|
});
|
|
5526
5662
|
try {
|
|
5527
|
-
for (sheetSlicerRels_1 = (
|
|
5663
|
+
for (sheetSlicerRels_1 = (e_61 = void 0, __values(sheetSlicerRels)), sheetSlicerRels_1_1 = sheetSlicerRels_1.next(); !sheetSlicerRels_1_1.done; sheetSlicerRels_1_1 = sheetSlicerRels_1.next()) {
|
|
5528
5664
|
rel = sheetSlicerRels_1_1.value;
|
|
5529
5665
|
target = (_r = rel === null || rel === void 0 ? void 0 : rel.a$) === null || _r === void 0 ? void 0 : _r.Target;
|
|
5530
5666
|
if (!target)
|
|
@@ -5532,12 +5668,12 @@ var XlsxPlugin = /** @class */ (function (_super) {
|
|
|
5532
5668
|
addSlicerPath(this.resolveRelationshipTarget(sheetRelPath, target), currentSheetId);
|
|
5533
5669
|
}
|
|
5534
5670
|
}
|
|
5535
|
-
catch (
|
|
5671
|
+
catch (e_61_1) { e_61 = { error: e_61_1 }; }
|
|
5536
5672
|
finally {
|
|
5537
5673
|
try {
|
|
5538
5674
|
if (sheetSlicerRels_1_1 && !sheetSlicerRels_1_1.done && (_e = sheetSlicerRels_1.return)) _e.call(sheetSlicerRels_1);
|
|
5539
5675
|
}
|
|
5540
|
-
finally { if (
|
|
5676
|
+
finally { if (e_61) throw e_61.error; }
|
|
5541
5677
|
}
|
|
5542
5678
|
return [3 /*break*/, 8];
|
|
5543
5679
|
case 7:
|
|
@@ -5549,14 +5685,14 @@ var XlsxPlugin = /** @class */ (function (_super) {
|
|
|
5549
5685
|
return [3 /*break*/, 4];
|
|
5550
5686
|
case 9: return [3 /*break*/, 12];
|
|
5551
5687
|
case 10:
|
|
5552
|
-
|
|
5553
|
-
|
|
5688
|
+
e_56_1 = _0.sent();
|
|
5689
|
+
e_56 = { error: e_56_1 };
|
|
5554
5690
|
return [3 /*break*/, 12];
|
|
5555
5691
|
case 11:
|
|
5556
5692
|
try {
|
|
5557
5693
|
if (workSheets_7_1 && !workSheets_7_1.done && (_d = workSheets_7.return)) _d.call(workSheets_7);
|
|
5558
5694
|
}
|
|
5559
|
-
finally { if (
|
|
5695
|
+
finally { if (e_56) throw e_56.error; }
|
|
5560
5696
|
return [7 /*endfinally*/];
|
|
5561
5697
|
case 12:
|
|
5562
5698
|
if (slicerPathToSheetIds_2.size === 0) {
|
|
@@ -5602,7 +5738,7 @@ var XlsxPlugin = /** @class */ (function (_super) {
|
|
|
5602
5738
|
]);
|
|
5603
5739
|
extArray = toArray_1(extList);
|
|
5604
5740
|
try {
|
|
5605
|
-
for (extArray_2 = (
|
|
5741
|
+
for (extArray_2 = (e_62 = void 0, __values(extArray)), extArray_2_1 = extArray_2.next(); !extArray_2_1.done; extArray_2_1 = extArray_2.next()) {
|
|
5606
5742
|
ext = extArray_2_1.value;
|
|
5607
5743
|
tableSlicerCache = getWithFallback(ext, [
|
|
5608
5744
|
"x15:tableSlicerCache",
|
|
@@ -5620,12 +5756,12 @@ var XlsxPlugin = /** @class */ (function (_super) {
|
|
|
5620
5756
|
}
|
|
5621
5757
|
}
|
|
5622
5758
|
}
|
|
5623
|
-
catch (
|
|
5759
|
+
catch (e_62_1) { e_62 = { error: e_62_1 }; }
|
|
5624
5760
|
finally {
|
|
5625
5761
|
try {
|
|
5626
5762
|
if (extArray_2_1 && !extArray_2_1.done && (_g = extArray_2.return)) _g.call(extArray_2);
|
|
5627
5763
|
}
|
|
5628
|
-
finally { if (
|
|
5764
|
+
finally { if (e_62) throw e_62.error; }
|
|
5629
5765
|
}
|
|
5630
5766
|
return [3 /*break*/, 18];
|
|
5631
5767
|
case 17:
|
|
@@ -5637,14 +5773,14 @@ var XlsxPlugin = /** @class */ (function (_super) {
|
|
|
5637
5773
|
return [3 /*break*/, 14];
|
|
5638
5774
|
case 19: return [3 /*break*/, 22];
|
|
5639
5775
|
case 20:
|
|
5640
|
-
|
|
5641
|
-
|
|
5776
|
+
e_57_1 = _0.sent();
|
|
5777
|
+
e_57 = { error: e_57_1 };
|
|
5642
5778
|
return [3 /*break*/, 22];
|
|
5643
5779
|
case 21:
|
|
5644
5780
|
try {
|
|
5645
5781
|
if (slicerCacheRels_1_1 && !slicerCacheRels_1_1.done && (_f = slicerCacheRels_1.return)) _f.call(slicerCacheRels_1);
|
|
5646
5782
|
}
|
|
5647
|
-
finally { if (
|
|
5783
|
+
finally { if (e_57) throw e_57.error; }
|
|
5648
5784
|
return [7 /*endfinally*/];
|
|
5649
5785
|
case 22:
|
|
5650
5786
|
_0.trys.push([22, 38, 39, 40]);
|
|
@@ -5687,7 +5823,7 @@ var XlsxPlugin = /** @class */ (function (_super) {
|
|
|
5687
5823
|
_0.label = 26;
|
|
5688
5824
|
case 26:
|
|
5689
5825
|
_0.trys.push([26, 32, 33, 34]);
|
|
5690
|
-
workSheets_8 = (
|
|
5826
|
+
workSheets_8 = (e_58 = void 0, __values(workSheets)), workSheets_8_1 = workSheets_8.next();
|
|
5691
5827
|
_0.label = 27;
|
|
5692
5828
|
case 27:
|
|
5693
5829
|
if (!!workSheets_8_1.done) return [3 /*break*/, 31];
|
|
@@ -5713,7 +5849,7 @@ var XlsxPlugin = /** @class */ (function (_super) {
|
|
|
5713
5849
|
anchors = __spreadArray(__spreadArray([], __read(toArray_1(wsDr["xdr:oneCellAnchor"] || wsDr["oneCellAnchor"])), false), __read(toArray_1(wsDr["xdr:twoCellAnchor"] || wsDr["twoCellAnchor"])), false);
|
|
5714
5850
|
firstSlicerAnchor = null;
|
|
5715
5851
|
try {
|
|
5716
|
-
for (anchors_2 = (
|
|
5852
|
+
for (anchors_2 = (e_63 = void 0, __values(anchors)), anchors_2_1 = anchors_2.next(); !anchors_2_1.done; anchors_2_1 = anchors_2.next()) {
|
|
5717
5853
|
anchor = anchors_2_1.value;
|
|
5718
5854
|
alternateContent = getWithFallback(anchor, [
|
|
5719
5855
|
"mc:AlternateContent",
|
|
@@ -5730,7 +5866,7 @@ var XlsxPlugin = /** @class */ (function (_super) {
|
|
|
5730
5866
|
]));
|
|
5731
5867
|
})), false);
|
|
5732
5868
|
try {
|
|
5733
|
-
for (graphicFrames_1 = (
|
|
5869
|
+
for (graphicFrames_1 = (e_64 = void 0, __values(graphicFrames)), graphicFrames_1_1 = graphicFrames_1.next(); !graphicFrames_1_1.done; graphicFrames_1_1 = graphicFrames_1.next()) {
|
|
5734
5870
|
graphicFrame = graphicFrames_1_1.value;
|
|
5735
5871
|
graphicData = getWithFallback(graphicFrame, [
|
|
5736
5872
|
"a:graphic.a:graphicData",
|
|
@@ -5763,23 +5899,23 @@ var XlsxPlugin = /** @class */ (function (_super) {
|
|
|
5763
5899
|
}
|
|
5764
5900
|
}
|
|
5765
5901
|
}
|
|
5766
|
-
catch (
|
|
5902
|
+
catch (e_64_1) { e_64 = { error: e_64_1 }; }
|
|
5767
5903
|
finally {
|
|
5768
5904
|
try {
|
|
5769
5905
|
if (graphicFrames_1_1 && !graphicFrames_1_1.done && (_l = graphicFrames_1.return)) _l.call(graphicFrames_1);
|
|
5770
5906
|
}
|
|
5771
|
-
finally { if (
|
|
5907
|
+
finally { if (e_64) throw e_64.error; }
|
|
5772
5908
|
}
|
|
5773
5909
|
if (position)
|
|
5774
5910
|
break;
|
|
5775
5911
|
}
|
|
5776
5912
|
}
|
|
5777
|
-
catch (
|
|
5913
|
+
catch (e_63_1) { e_63 = { error: e_63_1 }; }
|
|
5778
5914
|
finally {
|
|
5779
5915
|
try {
|
|
5780
5916
|
if (anchors_2_1 && !anchors_2_1.done && (_k = anchors_2.return)) _k.call(anchors_2);
|
|
5781
5917
|
}
|
|
5782
|
-
finally { if (
|
|
5918
|
+
finally { if (e_63) throw e_63.error; }
|
|
5783
5919
|
}
|
|
5784
5920
|
if (!position && firstSlicerAnchor) {
|
|
5785
5921
|
position = this.extractSlicerPosition(firstSlicerAnchor, currentSheetId);
|
|
@@ -5793,14 +5929,14 @@ var XlsxPlugin = /** @class */ (function (_super) {
|
|
|
5793
5929
|
return [3 /*break*/, 27];
|
|
5794
5930
|
case 31: return [3 /*break*/, 34];
|
|
5795
5931
|
case 32:
|
|
5796
|
-
|
|
5797
|
-
|
|
5932
|
+
e_58_1 = _0.sent();
|
|
5933
|
+
e_58 = { error: e_58_1 };
|
|
5798
5934
|
return [3 /*break*/, 34];
|
|
5799
5935
|
case 33:
|
|
5800
5936
|
try {
|
|
5801
5937
|
if (workSheets_8_1 && !workSheets_8_1.done && (_j = workSheets_8.return)) _j.call(workSheets_8);
|
|
5802
5938
|
}
|
|
5803
|
-
finally { if (
|
|
5939
|
+
finally { if (e_58) throw e_58.error; }
|
|
5804
5940
|
return [7 /*endfinally*/];
|
|
5805
5941
|
case 34:
|
|
5806
5942
|
// Create default position if we couldn't find one
|
|
@@ -5842,14 +5978,14 @@ var XlsxPlugin = /** @class */ (function (_super) {
|
|
|
5842
5978
|
return [3 /*break*/, 23];
|
|
5843
5979
|
case 37: return [3 /*break*/, 40];
|
|
5844
5980
|
case 38:
|
|
5845
|
-
|
|
5846
|
-
|
|
5981
|
+
e_59_1 = _0.sent();
|
|
5982
|
+
e_59 = { error: e_59_1 };
|
|
5847
5983
|
return [3 /*break*/, 40];
|
|
5848
5984
|
case 39:
|
|
5849
5985
|
try {
|
|
5850
5986
|
if (slicerPathToSheetIds_1_1 && !slicerPathToSheetIds_1_1.done && (_h = slicerPathToSheetIds_1.return)) _h.call(slicerPathToSheetIds_1);
|
|
5851
5987
|
}
|
|
5852
|
-
finally { if (
|
|
5988
|
+
finally { if (e_59) throw e_59.error; }
|
|
5853
5989
|
return [7 /*endfinally*/];
|
|
5854
5990
|
case 40: return [3 /*break*/, 42];
|
|
5855
5991
|
case 41:
|
|
@@ -6054,3 +6190,200 @@ var XlsxPlugin = /** @class */ (function (_super) {
|
|
|
6054
6190
|
return XlsxPlugin;
|
|
6055
6191
|
}(BaseWorkbookPlugin));
|
|
6056
6192
|
export { XlsxPlugin };
|
|
6193
|
+
/** `CT_SheetProtection` boolean attributes, in OOXML order (camelCase = model key). */
|
|
6194
|
+
var SHEET_PROTECTION_FLAGS = [
|
|
6195
|
+
"sheet",
|
|
6196
|
+
"objects",
|
|
6197
|
+
"scenarios",
|
|
6198
|
+
"formatCells",
|
|
6199
|
+
"formatColumns",
|
|
6200
|
+
"formatRows",
|
|
6201
|
+
"insertColumns",
|
|
6202
|
+
"insertRows",
|
|
6203
|
+
"insertHyperlinks",
|
|
6204
|
+
"deleteColumns",
|
|
6205
|
+
"deleteRows",
|
|
6206
|
+
"selectLockedCells",
|
|
6207
|
+
"sort",
|
|
6208
|
+
"autoFilter",
|
|
6209
|
+
"pivotTables",
|
|
6210
|
+
"selectUnlockedCells",
|
|
6211
|
+
];
|
|
6212
|
+
/**
|
|
6213
|
+
* `<sheetProtection …>` attributes → `Sheet.sheetProtection`. Only attributes
|
|
6214
|
+
* present in the source are set (`"1"|"true"` → true, anything else → false),
|
|
6215
|
+
* so an explicit flag round-trips without inventing schema defaults; the
|
|
6216
|
+
* password hash (legacy `password` or the agile quartet) rides along verbatim.
|
|
6217
|
+
* Mirrors `rnc-import`'s `read_sheet_protection`.
|
|
6218
|
+
*/
|
|
6219
|
+
var readSheetProtectionAttrs = function (attrs) {
|
|
6220
|
+
var e_65, _a;
|
|
6221
|
+
var protection = {};
|
|
6222
|
+
try {
|
|
6223
|
+
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()) {
|
|
6224
|
+
var flag = SHEET_PROTECTION_FLAGS_1_1.value;
|
|
6225
|
+
var value = attrs[flag];
|
|
6226
|
+
if (value !== undefined) {
|
|
6227
|
+
protection[flag] = value === "1" || value === "true";
|
|
6228
|
+
}
|
|
6229
|
+
}
|
|
6230
|
+
}
|
|
6231
|
+
catch (e_65_1) { e_65 = { error: e_65_1 }; }
|
|
6232
|
+
finally {
|
|
6233
|
+
try {
|
|
6234
|
+
if (SHEET_PROTECTION_FLAGS_1_1 && !SHEET_PROTECTION_FLAGS_1_1.done && (_a = SHEET_PROTECTION_FLAGS_1.return)) _a.call(SHEET_PROTECTION_FLAGS_1);
|
|
6235
|
+
}
|
|
6236
|
+
finally { if (e_65) throw e_65.error; }
|
|
6237
|
+
}
|
|
6238
|
+
if (attrs.password)
|
|
6239
|
+
protection.password = attrs.password;
|
|
6240
|
+
if (attrs.algorithmName)
|
|
6241
|
+
protection.algorithmName = attrs.algorithmName;
|
|
6242
|
+
if (attrs.hashValue)
|
|
6243
|
+
protection.hashValue = attrs.hashValue;
|
|
6244
|
+
if (attrs.saltValue)
|
|
6245
|
+
protection.saltValue = attrs.saltValue;
|
|
6246
|
+
if (attrs.spinCount !== undefined) {
|
|
6247
|
+
var spinCount = parseInt(attrs.spinCount, 10);
|
|
6248
|
+
if (Number.isFinite(spinCount))
|
|
6249
|
+
protection.spinCount = spinCount;
|
|
6250
|
+
}
|
|
6251
|
+
return protection;
|
|
6252
|
+
};
|
|
6253
|
+
/**
|
|
6254
|
+
* `<protectedRange sqref name>` entries → `ProtectedRange[]` for one sheet. The
|
|
6255
|
+
* `name` becomes the `protectedRangeId` so it keys the stored facet and
|
|
6256
|
+
* re-exports under the same name; only the first `sqref` area is modeled
|
|
6257
|
+
* (Excel writes one per element in practice).
|
|
6258
|
+
*/
|
|
6259
|
+
var protectedRangesFromEntries = function (sheetId, entries) {
|
|
6260
|
+
var e_66, _a;
|
|
6261
|
+
var ranges = [];
|
|
6262
|
+
try {
|
|
6263
|
+
for (var entries_1 = __values(entries), entries_1_1 = entries_1.next(); !entries_1_1.done; entries_1_1 = entries_1.next()) {
|
|
6264
|
+
var entry = entries_1_1.value;
|
|
6265
|
+
var first = entry.sqref.trim().split(/\s+/)[0];
|
|
6266
|
+
var range = first ? getRangeFromAddressRef(first) : undefined;
|
|
6267
|
+
if (!range)
|
|
6268
|
+
continue;
|
|
6269
|
+
var protectedRange = {
|
|
6270
|
+
range: __assign({ sheetId: sheetId }, range),
|
|
6271
|
+
};
|
|
6272
|
+
if (entry.name)
|
|
6273
|
+
protectedRange.protectedRangeId = entry.name;
|
|
6274
|
+
if (entry.securityDescriptor) {
|
|
6275
|
+
protectedRange.securityDescriptor = entry.securityDescriptor;
|
|
6276
|
+
}
|
|
6277
|
+
ranges.push(protectedRange);
|
|
6278
|
+
}
|
|
6279
|
+
}
|
|
6280
|
+
catch (e_66_1) { e_66 = { error: e_66_1 }; }
|
|
6281
|
+
finally {
|
|
6282
|
+
try {
|
|
6283
|
+
if (entries_1_1 && !entries_1_1.done && (_a = entries_1.return)) _a.call(entries_1);
|
|
6284
|
+
}
|
|
6285
|
+
finally { if (e_66) throw e_66.error; }
|
|
6286
|
+
}
|
|
6287
|
+
return ranges;
|
|
6288
|
+
};
|
|
6289
|
+
var isXmlTrue = function (value) {
|
|
6290
|
+
return value === "1" || value === "true";
|
|
6291
|
+
};
|
|
6292
|
+
/** `"1"|"true"|"0"|"false"` → boolean; absent stays undefined. */
|
|
6293
|
+
var xmlBoolOpt = function (value) {
|
|
6294
|
+
return value === undefined ? undefined : isXmlTrue(value);
|
|
6295
|
+
};
|
|
6296
|
+
var xmlIntOpt = function (value) {
|
|
6297
|
+
if (value === undefined)
|
|
6298
|
+
return undefined;
|
|
6299
|
+
var n = parseInt(value, 10);
|
|
6300
|
+
return Number.isFinite(n) ? n : undefined;
|
|
6301
|
+
};
|
|
6302
|
+
var xmlFloatOpt = function (value) {
|
|
6303
|
+
if (value === undefined)
|
|
6304
|
+
return undefined;
|
|
6305
|
+
var n = parseFloat(value);
|
|
6306
|
+
return Number.isFinite(n) ? n : undefined;
|
|
6307
|
+
};
|
|
6308
|
+
var stripUndefined = function (value) {
|
|
6309
|
+
var e_67, _a;
|
|
6310
|
+
try {
|
|
6311
|
+
for (var _b = __values(Object.keys(value)), _c = _b.next(); !_c.done; _c = _b.next()) {
|
|
6312
|
+
var key = _c.value;
|
|
6313
|
+
if (value[key] === undefined)
|
|
6314
|
+
delete value[key];
|
|
6315
|
+
}
|
|
6316
|
+
}
|
|
6317
|
+
catch (e_67_1) { e_67 = { error: e_67_1 }; }
|
|
6318
|
+
finally {
|
|
6319
|
+
try {
|
|
6320
|
+
if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
|
|
6321
|
+
}
|
|
6322
|
+
finally { if (e_67) throw e_67.error; }
|
|
6323
|
+
}
|
|
6324
|
+
return value;
|
|
6325
|
+
};
|
|
6326
|
+
/** `<headerFooter>` children whose text is a header/footer code string. */
|
|
6327
|
+
var HEADER_FOOTER_TEXT_ELEMENTS = [
|
|
6328
|
+
"oddHeader",
|
|
6329
|
+
"oddFooter",
|
|
6330
|
+
"evenHeader",
|
|
6331
|
+
"evenFooter",
|
|
6332
|
+
"firstHeader",
|
|
6333
|
+
"firstFooter",
|
|
6334
|
+
];
|
|
6335
|
+
var isHeaderFooterTextKey = function (name) {
|
|
6336
|
+
return HEADER_FOOTER_TEXT_ELEMENTS.includes(name);
|
|
6337
|
+
};
|
|
6338
|
+
/**
|
|
6339
|
+
* `<pageSetup …>` → `PageSetup` (present attributes only; `fitToPage` is
|
|
6340
|
+
* filled from `<sheetPr><pageSetUpPr>` by the caller). Mirrors
|
|
6341
|
+
* `rnc-import`'s `read_page_setup`.
|
|
6342
|
+
*/
|
|
6343
|
+
var readPageSetupAttrs = function (attrs) {
|
|
6344
|
+
var orientation = attrs.orientation;
|
|
6345
|
+
var pageOrder = attrs.pageOrder;
|
|
6346
|
+
return stripUndefined({
|
|
6347
|
+
orientation: orientation === "landscape" || orientation === "portrait"
|
|
6348
|
+
? orientation
|
|
6349
|
+
: undefined,
|
|
6350
|
+
paperSize: xmlIntOpt(attrs.paperSize),
|
|
6351
|
+
scale: xmlIntOpt(attrs.scale),
|
|
6352
|
+
fitToWidth: xmlIntOpt(attrs.fitToWidth),
|
|
6353
|
+
fitToHeight: xmlIntOpt(attrs.fitToHeight),
|
|
6354
|
+
firstPageNumber: xmlIntOpt(attrs.firstPageNumber),
|
|
6355
|
+
useFirstPageNumber: xmlBoolOpt(attrs.useFirstPageNumber),
|
|
6356
|
+
pageOrder: pageOrder === "overThenDown" || pageOrder === "downThenOver"
|
|
6357
|
+
? pageOrder
|
|
6358
|
+
: undefined,
|
|
6359
|
+
blackAndWhite: xmlBoolOpt(attrs.blackAndWhite),
|
|
6360
|
+
draft: xmlBoolOpt(attrs.draft),
|
|
6361
|
+
});
|
|
6362
|
+
};
|
|
6363
|
+
var readPageMarginsAttrs = function (attrs) {
|
|
6364
|
+
return stripUndefined({
|
|
6365
|
+
left: xmlFloatOpt(attrs.left),
|
|
6366
|
+
right: xmlFloatOpt(attrs.right),
|
|
6367
|
+
top: xmlFloatOpt(attrs.top),
|
|
6368
|
+
bottom: xmlFloatOpt(attrs.bottom),
|
|
6369
|
+
header: xmlFloatOpt(attrs.header),
|
|
6370
|
+
footer: xmlFloatOpt(attrs.footer),
|
|
6371
|
+
});
|
|
6372
|
+
};
|
|
6373
|
+
var readPrintOptionsAttrs = function (attrs) {
|
|
6374
|
+
return stripUndefined({
|
|
6375
|
+
gridLines: xmlBoolOpt(attrs.gridLines),
|
|
6376
|
+
headings: xmlBoolOpt(attrs.headings),
|
|
6377
|
+
horizontalCentered: xmlBoolOpt(attrs.horizontalCentered),
|
|
6378
|
+
verticalCentered: xmlBoolOpt(attrs.verticalCentered),
|
|
6379
|
+
});
|
|
6380
|
+
};
|
|
6381
|
+
/** `<headerFooter …>` attributes; the child texts stream in via `ontext`. */
|
|
6382
|
+
var readHeaderFooterAttrs = function (attrs) {
|
|
6383
|
+
return stripUndefined({
|
|
6384
|
+
differentOddEven: xmlBoolOpt(attrs.differentOddEven),
|
|
6385
|
+
differentFirst: xmlBoolOpt(attrs.differentFirst),
|
|
6386
|
+
scaleWithDoc: xmlBoolOpt(attrs.scaleWithDoc),
|
|
6387
|
+
alignWithMargins: xmlBoolOpt(attrs.alignWithMargins),
|
|
6388
|
+
});
|
|
6389
|
+
};
|