@rowsncolumns/toolkit 24.5.4 → 24.5.5
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/autofilter-condition.js +6 -2
- 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 +70 -16
- package/dist/cjs/excel-parser/interface.d.ts +9 -1
- package/dist/cjs/excel-parser/interface.d.ts.map +1 -1
- package/dist/cjs/excel-parser/plugins/xlsx/conditional-formatting.d.ts.map +1 -1
- package/dist/cjs/excel-parser/plugins/xlsx/conditional-formatting.js +61 -6
- package/dist/cjs/excel-parser/plugins/xlsx/data-validations.d.ts.map +1 -1
- package/dist/cjs/excel-parser/plugins/xlsx/data-validations.js +13 -2
- package/dist/cjs/excel-parser/plugins/xlsx/index.d.ts +8 -1
- package/dist/cjs/excel-parser/plugins/xlsx/index.d.ts.map +1 -1
- package/dist/cjs/excel-parser/plugins/xlsx/index.js +159 -26
- package/dist/cjs/excel-parser/plugins/xlsx/styles.d.ts +17 -2
- package/dist/cjs/excel-parser/plugins/xlsx/styles.d.ts.map +1 -1
- package/dist/cjs/excel-parser/plugins/xlsx/styles.js +25 -14
- package/dist/cjs/excel-parser/types.d.ts +5 -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 -0
- package/dist/cjs/exporter/xlsx/chart-builder.d.ts.map +1 -1
- package/dist/cjs/exporter/xlsx/chart-builder.js +167 -53
- package/dist/cjs/exporter/xlsx/future-functions.d.ts +6 -7
- package/dist/cjs/exporter/xlsx/future-functions.d.ts.map +1 -1
- package/dist/cjs/exporter/xlsx/future-functions.js +5 -261
- package/dist/cjs/exporter/xlsx/style-builder.d.ts.map +1 -1
- package/dist/cjs/exporter/xlsx/style-builder.js +62 -19
- package/dist/cjs/exporter/xlsx/xlsx-export.d.ts +10 -2
- package/dist/cjs/exporter/xlsx/xlsx-export.d.ts.map +1 -1
- package/dist/cjs/exporter/xlsx/xlsx-export.js +404 -158
- package/dist/cjs/helpers/excel-formula-prefixes.d.ts +51 -0
- package/dist/cjs/helpers/excel-formula-prefixes.d.ts.map +1 -0
- package/dist/cjs/helpers/excel-formula-prefixes.js +548 -0
- package/dist/cjs/tsconfig.cjs.tsbuildinfo +1 -1
- package/dist/esm/autofilter-condition.js +6 -2
- 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 +65 -3
- package/dist/esm/excel-parser/interface.d.ts +9 -1
- package/dist/esm/excel-parser/interface.d.ts.map +1 -1
- package/dist/esm/excel-parser/plugins/xlsx/conditional-formatting.d.ts.map +1 -1
- package/dist/esm/excel-parser/plugins/xlsx/conditional-formatting.js +42 -1
- package/dist/esm/excel-parser/plugins/xlsx/data-validations.d.ts.map +1 -1
- package/dist/esm/excel-parser/plugins/xlsx/data-validations.js +11 -2
- package/dist/esm/excel-parser/plugins/xlsx/index.d.ts +8 -1
- package/dist/esm/excel-parser/plugins/xlsx/index.d.ts.map +1 -1
- package/dist/esm/excel-parser/plugins/xlsx/index.js +109 -4
- package/dist/esm/excel-parser/plugins/xlsx/styles.d.ts +17 -2
- package/dist/esm/excel-parser/plugins/xlsx/styles.d.ts.map +1 -1
- package/dist/esm/excel-parser/plugins/xlsx/styles.js +20 -8
- package/dist/esm/excel-parser/types.d.ts +5 -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 +3 -0
- package/dist/esm/exporter/xlsx/chart-builder.d.ts.map +1 -1
- package/dist/esm/exporter/xlsx/chart-builder.js +80 -0
- package/dist/esm/exporter/xlsx/future-functions.d.ts +6 -7
- package/dist/esm/exporter/xlsx/future-functions.d.ts.map +1 -1
- package/dist/esm/exporter/xlsx/future-functions.js +5 -261
- package/dist/esm/exporter/xlsx/style-builder.d.ts.map +1 -1
- package/dist/esm/exporter/xlsx/style-builder.js +56 -18
- package/dist/esm/exporter/xlsx/xlsx-export.d.ts +10 -2
- package/dist/esm/exporter/xlsx/xlsx-export.d.ts.map +1 -1
- package/dist/esm/exporter/xlsx/xlsx-export.js +338 -106
- package/dist/esm/helpers/excel-formula-prefixes.d.ts +51 -0
- package/dist/esm/helpers/excel-formula-prefixes.d.ts.map +1 -0
- package/dist/esm/helpers/excel-formula-prefixes.js +531 -0
- package/dist/esm/tsconfig.esm.tsbuildinfo +1 -1
- package/package.json +4 -4
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import { __assign, __asyncDelegator, __asyncGenerator, __asyncValues, __await, __awaiter, __extends, __generator, __read, __spreadArray, __values } from "tslib";
|
|
2
2
|
import { addressToCell, addressToSelection, alpha2number, checkIfStringIsReference, findMatchingBandProperty, generateSelectionsFromFormula, getCellXfsKey, isAFormula, isBareFormulaExpression, isNil, uuid, } from "@rowsncolumns/utils";
|
|
3
|
+
import { normalizeImportedFormula } from "../../../helpers/excel-formula-prefixes";
|
|
3
4
|
import { XMLParser } from "fast-xml-parser";
|
|
4
5
|
import { get } from "lodash-es";
|
|
5
6
|
import { Parser as HtmlParser } from "htmlparser2";
|
|
6
|
-
import { createFilterSpecsFromAutoFilter, excelColumnWidthToPixels, findMax, createSortSpecsFromSortState, getRangeFromAddressRef, hiddenFilterButtonColumns, parseTableColumnTotals, } from "../../helpers";
|
|
7
|
+
import { BLANK_LABEL, createFilterSpecsFromAutoFilter, dateGroupFilterFromAttributes, excelColumnWidthToPixels, findMax, createSortSpecsFromSortState, getRangeFromAddressRef, hiddenFilterButtonColumns, parseTableColumnTotals, } from "../../helpers";
|
|
7
8
|
import { defaultSpreadsheetTheme } from "../../theme-default";
|
|
8
9
|
import { Unescape } from "../../utils";
|
|
9
10
|
import { compactPrintSettings, isBuiltinPrintName, isDefaultPageMargins, parsePrintAreaFormula, parsePrintTitlesFormula, PRINT_AREA_NAME, } from "../../../print-settings";
|
|
@@ -907,7 +908,7 @@ var XlsxPlugin = /** @class */ (function (_super) {
|
|
|
907
908
|
};
|
|
908
909
|
parser = new HtmlParser({
|
|
909
910
|
onopentag: function (tagName, attrs) {
|
|
910
|
-
var _a, _b, _c, _d, _e, _f, _g, _h;
|
|
911
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j;
|
|
911
912
|
var name = normalizeTag(tagName);
|
|
912
913
|
if (name === "customSheetViews") {
|
|
913
914
|
inCustomSheetViews = true;
|
|
@@ -1129,12 +1130,27 @@ var XlsxPlugin = /** @class */ (function (_super) {
|
|
|
1129
1130
|
var colId = parseInt((_f = attrs.colId) !== null && _f !== void 0 ? _f : "0", 10);
|
|
1130
1131
|
currentFilterColumn = Number.isNaN(colId) ? null : colId;
|
|
1131
1132
|
}
|
|
1133
|
+
// <filters blank="1"> — Excel writes the checked "(Blanks)" entry
|
|
1134
|
+
// as an attribute, never as a <filter val>.
|
|
1135
|
+
if (name === "filters" && currentFilterColumn !== null) {
|
|
1136
|
+
if (attrs.blank === "1" || attrs.blank === "true") {
|
|
1137
|
+
getOrCreateFilterColumn(currentFilterColumn).showBlanks = true;
|
|
1138
|
+
}
|
|
1139
|
+
}
|
|
1132
1140
|
if (name === "filter" && currentFilterColumn !== null) {
|
|
1133
1141
|
var val = attrs.val;
|
|
1134
1142
|
if (typeof val === "string") {
|
|
1135
1143
|
getOrCreateFilterColumn(currentFilterColumn).visibleValues.push(val);
|
|
1136
1144
|
}
|
|
1137
1145
|
}
|
|
1146
|
+
// <dateGroupItem year month day … dateTimeGrouping/> inside <filters>.
|
|
1147
|
+
if (name === "dateGroupItem" && currentFilterColumn !== null) {
|
|
1148
|
+
var group = dateGroupFilterFromAttributes(attrs);
|
|
1149
|
+
if (group) {
|
|
1150
|
+
var entry = getOrCreateFilterColumn(currentFilterColumn);
|
|
1151
|
+
((_g = entry.dateGroups) !== null && _g !== void 0 ? _g : (entry.dateGroups = [])).push(group);
|
|
1152
|
+
}
|
|
1153
|
+
}
|
|
1138
1154
|
if (name === "colorFilter" && currentFilterColumn !== null) {
|
|
1139
1155
|
var entry = getOrCreateFilterColumn(currentFilterColumn);
|
|
1140
1156
|
var dxfIdRaw = attrs.dxfId;
|
|
@@ -1166,13 +1182,13 @@ var XlsxPlugin = /** @class */ (function (_super) {
|
|
|
1166
1182
|
// operator= val=>. Records the AND flag, then each child below.
|
|
1167
1183
|
if (name === "customFilters" && currentFilterColumn !== null) {
|
|
1168
1184
|
var entry = getOrCreateFilterColumn(currentFilterColumn);
|
|
1169
|
-
entry.customFilters = (
|
|
1185
|
+
entry.customFilters = (_h = entry.customFilters) !== null && _h !== void 0 ? _h : [];
|
|
1170
1186
|
entry.customFiltersAnd =
|
|
1171
1187
|
attrs.and === "1" || attrs.and === "true";
|
|
1172
1188
|
}
|
|
1173
1189
|
if (name === "customFilter" && currentFilterColumn !== null) {
|
|
1174
1190
|
var entry = getOrCreateFilterColumn(currentFilterColumn);
|
|
1175
|
-
entry.customFilters = (
|
|
1191
|
+
entry.customFilters = (_j = entry.customFilters) !== null && _j !== void 0 ? _j : [];
|
|
1176
1192
|
entry.customFilters.push({
|
|
1177
1193
|
operator: attrs.operator,
|
|
1178
1194
|
val: attrs.val,
|
|
@@ -1239,11 +1255,15 @@ var XlsxPlugin = /** @class */ (function (_super) {
|
|
|
1239
1255
|
maxColumnIndex = Math.max(maxColumnIndex, dimensionRange.endColumnIndex);
|
|
1240
1256
|
}
|
|
1241
1257
|
filterSpecs = Array.from(filterColumns.entries()).map(function (_a) {
|
|
1242
|
-
var _b, _c;
|
|
1243
|
-
var
|
|
1258
|
+
var _b, _c, _d;
|
|
1259
|
+
var _e = __read(_a, 2), columnIndex = _e[0], raw = _e[1];
|
|
1244
1260
|
var criteria = {};
|
|
1245
|
-
if (raw.visibleValues.length) {
|
|
1246
|
-
criteria.visibleValues = raw.
|
|
1261
|
+
if (raw.visibleValues.length || raw.showBlanks) {
|
|
1262
|
+
criteria.visibleValues = raw.showBlanks
|
|
1263
|
+
? __spreadArray(__spreadArray([], __read(raw.visibleValues), false), [BLANK_LABEL], false) : raw.visibleValues;
|
|
1264
|
+
}
|
|
1265
|
+
if ((_b = raw.dateGroups) === null || _b === void 0 ? void 0 : _b.length) {
|
|
1266
|
+
criteria.dateGroups = raw.dateGroups;
|
|
1247
1267
|
}
|
|
1248
1268
|
if (raw.colorFilterDxfId !== undefined) {
|
|
1249
1269
|
var color = _this.resolveDxfColor(raw.colorFilterDxfId, raw.colorFilterCellColor !== false);
|
|
@@ -1257,10 +1277,10 @@ var XlsxPlugin = /** @class */ (function (_super) {
|
|
|
1257
1277
|
if (raw.iconFilterSet) {
|
|
1258
1278
|
criteria.iconFilter = {
|
|
1259
1279
|
iconSet: raw.iconFilterSet,
|
|
1260
|
-
iconId: (
|
|
1280
|
+
iconId: (_c = raw.iconFilterId) !== null && _c !== void 0 ? _c : 0,
|
|
1261
1281
|
};
|
|
1262
1282
|
}
|
|
1263
|
-
if ((
|
|
1283
|
+
if ((_d = raw.customFilters) === null || _d === void 0 ? void 0 : _d.length) {
|
|
1264
1284
|
var conditions = customFiltersToCriteria(raw.customFilters, raw.customFiltersAnd === true);
|
|
1265
1285
|
if (conditions)
|
|
1266
1286
|
Object.assign(criteria, conditions);
|
|
@@ -1995,6 +2015,9 @@ var XlsxPlugin = /** @class */ (function (_super) {
|
|
|
1995
2015
|
this.workbookPr =
|
|
1996
2016
|
get(this.workbookXml, "workbook.workbookPr") ||
|
|
1997
2017
|
get(this.workbookXml, "x:workbook.x:workbookPr");
|
|
2018
|
+
this.workbookProtectionXml =
|
|
2019
|
+
get(this.workbookXml, "workbook.workbookProtection") ||
|
|
2020
|
+
get(this.workbookXml, "x:workbook.x:workbookProtection");
|
|
1998
2021
|
return [2 /*return*/];
|
|
1999
2022
|
}
|
|
2000
2023
|
});
|
|
@@ -3828,7 +3851,7 @@ var XlsxPlugin = /** @class */ (function (_super) {
|
|
|
3828
3851
|
};
|
|
3829
3852
|
XlsxPlugin.prototype._getNamedRanges = function () {
|
|
3830
3853
|
var e_34, _a, e_35, _b;
|
|
3831
|
-
var _c, _d;
|
|
3854
|
+
var _c, _d, _e;
|
|
3832
3855
|
this.printNamesBySheetId.clear();
|
|
3833
3856
|
var xml = this.workbookXml;
|
|
3834
3857
|
var sheetIdBySheetName = this._getSheets().reduce(function (acc, element) {
|
|
@@ -3848,18 +3871,41 @@ var XlsxPlugin = /** @class */ (function (_super) {
|
|
|
3848
3871
|
var defined_names = Array.isArray(definedName)
|
|
3849
3872
|
? definedName
|
|
3850
3873
|
: [definedName];
|
|
3874
|
+
var sheetElements_1 = this._getSheets();
|
|
3875
|
+
// `localSheetId` indexes the `<sheets>` order; the model scopes a name by
|
|
3876
|
+
// the sheet's id (`scopeSheetId`) so renames and reorders don't move it.
|
|
3877
|
+
var scopeOf = function (localSheetId) {
|
|
3878
|
+
var _a, _b;
|
|
3879
|
+
if (localSheetId === undefined || localSheetId === null)
|
|
3880
|
+
return {};
|
|
3881
|
+
var index = parseInt(String(localSheetId), 10);
|
|
3882
|
+
var sheetId = Number((_b = (_a = sheetElements_1[index]) === null || _a === void 0 ? void 0 : _a.a$) === null || _b === void 0 ? void 0 : _b.sheetId);
|
|
3883
|
+
return Number.isFinite(sheetId) ? { scopeSheetId: sheetId } : {};
|
|
3884
|
+
};
|
|
3851
3885
|
try {
|
|
3852
3886
|
for (var defined_names_1 = __values(defined_names), defined_names_1_1 = defined_names_1.next(); !defined_names_1_1.done; defined_names_1_1 = defined_names_1.next()) {
|
|
3853
3887
|
var defined_name = defined_names_1_1.value;
|
|
3854
3888
|
var name_8 = (_c = defined_name.a$) === null || _c === void 0 ? void 0 : _c.name;
|
|
3855
|
-
|
|
3889
|
+
// Defined names are stored with the same markers as cell formulas
|
|
3890
|
+
// (`_xlfn.LAMBDA(_xlpm.x,_xlpm.x*2)`); keep the displayed spelling.
|
|
3891
|
+
// The XML layer hands a numeric constant (`<definedName>0.2</definedName>`)
|
|
3892
|
+
// over as a number — keep every expression as text so a constant name
|
|
3893
|
+
// exports the way it was read.
|
|
3894
|
+
var rawExpression = defined_name.t$;
|
|
3895
|
+
var expressionText = rawExpression === undefined || rawExpression === null
|
|
3896
|
+
? ""
|
|
3897
|
+
: String(rawExpression);
|
|
3898
|
+
var expression = expressionText
|
|
3899
|
+
? normalizeImportedFormula(expressionText)
|
|
3900
|
+
: "";
|
|
3856
3901
|
var hidden = defined_name.a$.hidden === "1";
|
|
3902
|
+
var scope = scopeOf((_d = defined_name.a$) === null || _d === void 0 ? void 0 : _d.localSheetId);
|
|
3857
3903
|
// `_xlnm.Print_Area` / `_xlnm.Print_Titles` are sheet-scoped print
|
|
3858
3904
|
// facets, not user names: they land on `sheet.printSettings` (see
|
|
3859
3905
|
// `getSheets()`), never in `namedRanges` — a global copy would make
|
|
3860
3906
|
// Excel repair the file on the next export.
|
|
3861
3907
|
if (isBuiltinPrintName(name_8)) {
|
|
3862
|
-
this.stashBuiltinPrintName(name_8, typeof expression === "string" ? expression : "", (
|
|
3908
|
+
this.stashBuiltinPrintName(name_8, typeof expression === "string" ? expression : "", (_e = defined_name.a$) === null || _e === void 0 ? void 0 : _e.localSheetId, sheetIdBySheetName);
|
|
3863
3909
|
continue;
|
|
3864
3910
|
}
|
|
3865
3911
|
// Empty defined names are noise; nothing useful to round-trip.
|
|
@@ -3883,7 +3929,7 @@ var XlsxPlugin = /** @class */ (function (_super) {
|
|
|
3883
3929
|
? sheetIdBySheetName[selection.sheetName]
|
|
3884
3930
|
: undefined;
|
|
3885
3931
|
if (!isNil(sheetId)) {
|
|
3886
|
-
namedRanges.push(__assign({ namedRangeId: uuid(), name: name_8, range: __assign(__assign({}, selection.range), { sheetId: sheetId }) }, (hidden ? { hidden: true } : {})));
|
|
3932
|
+
namedRanges.push(__assign(__assign({ namedRangeId: uuid(), name: name_8, range: __assign(__assign({}, selection.range), { sheetId: sheetId }) }, (hidden ? { hidden: true } : {})), scope));
|
|
3887
3933
|
pushedRange = true;
|
|
3888
3934
|
}
|
|
3889
3935
|
}
|
|
@@ -3902,7 +3948,7 @@ var XlsxPlugin = /** @class */ (function (_super) {
|
|
|
3902
3948
|
// Preserve the original expression as value-only so the name
|
|
3903
3949
|
// survives the round-trip.
|
|
3904
3950
|
if (!pushedRange) {
|
|
3905
|
-
namedRanges.push(__assign({ name: name_8, namedRangeId: uuid(), value: isAFormula(expression) ? "=".concat(expression) : expression }, (hidden ? { hidden: true } : {})));
|
|
3951
|
+
namedRanges.push(__assign(__assign({ name: name_8, namedRangeId: uuid(), value: isAFormula(expression) ? "=".concat(expression) : expression }, (hidden ? { hidden: true } : {})), scope));
|
|
3906
3952
|
}
|
|
3907
3953
|
}
|
|
3908
3954
|
else {
|
|
@@ -3911,9 +3957,9 @@ var XlsxPlugin = /** @class */ (function (_super) {
|
|
|
3911
3957
|
// formula-shaped expressions (e.g. `OFFSET(...)`) get the
|
|
3912
3958
|
// "=" prefix the calculator expects; static literals and
|
|
3913
3959
|
// broken refs are preserved verbatim.
|
|
3914
|
-
namedRanges.push(__assign({ name: name_8, namedRangeId: uuid(), value: isAFormula(expression) || isBareFormulaExpression(expression)
|
|
3960
|
+
namedRanges.push(__assign(__assign({ name: name_8, namedRangeId: uuid(), value: isAFormula(expression) || isBareFormulaExpression(expression)
|
|
3915
3961
|
? "=".concat(expression)
|
|
3916
|
-
: expression }, (hidden ? { hidden: true } : {})));
|
|
3962
|
+
: expression }, (hidden ? { hidden: true } : {})), scope));
|
|
3917
3963
|
}
|
|
3918
3964
|
}
|
|
3919
3965
|
}
|
|
@@ -3946,6 +3992,17 @@ var XlsxPlugin = /** @class */ (function (_super) {
|
|
|
3946
3992
|
var v = (_b = (_a = this.workbookPr) === null || _a === void 0 ? void 0 : _a.a$) === null || _b === void 0 ? void 0 : _b.date1904;
|
|
3947
3993
|
return v === "1" || v === "true" || v === true;
|
|
3948
3994
|
};
|
|
3995
|
+
/**
|
|
3996
|
+
* `<workbookProtection …/>` → `WorkbookProtection`. The element's presence is
|
|
3997
|
+
* what matters (Excel writes it only for a protected workbook); attributes
|
|
3998
|
+
* are kept exactly as present so the exporter replays them verbatim.
|
|
3999
|
+
*/
|
|
4000
|
+
XlsxPlugin.prototype.getWorkbookProtection = function () {
|
|
4001
|
+
var _a, _b;
|
|
4002
|
+
if (!this.workbookProtectionXml)
|
|
4003
|
+
return undefined;
|
|
4004
|
+
return readWorkbookProtectionAttrs((_b = (_a = this.workbookProtectionXml) === null || _a === void 0 ? void 0 : _a.a$) !== null && _b !== void 0 ? _b : {});
|
|
4005
|
+
};
|
|
3949
4006
|
XlsxPlugin.prototype.getIterativeCalculationOptions = function () {
|
|
3950
4007
|
var _a;
|
|
3951
4008
|
var attrs = (_a = this.calcPr) === null || _a === void 0 ? void 0 : _a.a$;
|
|
@@ -6523,6 +6580,82 @@ var SHEET_PROTECTION_FLAGS = [
|
|
|
6523
6580
|
"pivotTables",
|
|
6524
6581
|
"selectUnlockedCells",
|
|
6525
6582
|
];
|
|
6583
|
+
/** `CT_WorkbookProtection` boolean attributes (camelCase = model key). */
|
|
6584
|
+
var WORKBOOK_PROTECTION_FLAGS = [
|
|
6585
|
+
"lockStructure",
|
|
6586
|
+
"lockWindows",
|
|
6587
|
+
"lockRevision",
|
|
6588
|
+
];
|
|
6589
|
+
/** `CT_WorkbookProtection` string (hash / password) attributes. */
|
|
6590
|
+
var WORKBOOK_PROTECTION_TEXT_ATTRS = [
|
|
6591
|
+
"workbookPassword",
|
|
6592
|
+
"revisionsPassword",
|
|
6593
|
+
"workbookAlgorithmName",
|
|
6594
|
+
"workbookHashValue",
|
|
6595
|
+
"workbookSaltValue",
|
|
6596
|
+
"revisionsAlgorithmName",
|
|
6597
|
+
"revisionsHashValue",
|
|
6598
|
+
"revisionsSaltValue",
|
|
6599
|
+
];
|
|
6600
|
+
/**
|
|
6601
|
+
* `<workbookProtection …>` attributes → `WorkbookProtection`. Only attributes
|
|
6602
|
+
* present in the source are set (`"1"|"true"` → true, anything else → false),
|
|
6603
|
+
* so the element round-trips without inventing schema defaults; the password
|
|
6604
|
+
* hashes (legacy `workbookPassword` / `revisionsPassword` or the agile
|
|
6605
|
+
* quartets) ride along verbatim. Mirrors `rnc-import`'s `read_workbook_protection`.
|
|
6606
|
+
*/
|
|
6607
|
+
var readWorkbookProtectionAttrs = function (attrs) {
|
|
6608
|
+
var e_70, _a, e_71, _b, e_72, _c;
|
|
6609
|
+
var protection = {};
|
|
6610
|
+
try {
|
|
6611
|
+
for (var WORKBOOK_PROTECTION_FLAGS_1 = __values(WORKBOOK_PROTECTION_FLAGS), WORKBOOK_PROTECTION_FLAGS_1_1 = WORKBOOK_PROTECTION_FLAGS_1.next(); !WORKBOOK_PROTECTION_FLAGS_1_1.done; WORKBOOK_PROTECTION_FLAGS_1_1 = WORKBOOK_PROTECTION_FLAGS_1.next()) {
|
|
6612
|
+
var flag = WORKBOOK_PROTECTION_FLAGS_1_1.value;
|
|
6613
|
+
var value = attrs[flag];
|
|
6614
|
+
if (value !== undefined) {
|
|
6615
|
+
protection[flag] = value === "1" || value === "true";
|
|
6616
|
+
}
|
|
6617
|
+
}
|
|
6618
|
+
}
|
|
6619
|
+
catch (e_70_1) { e_70 = { error: e_70_1 }; }
|
|
6620
|
+
finally {
|
|
6621
|
+
try {
|
|
6622
|
+
if (WORKBOOK_PROTECTION_FLAGS_1_1 && !WORKBOOK_PROTECTION_FLAGS_1_1.done && (_a = WORKBOOK_PROTECTION_FLAGS_1.return)) _a.call(WORKBOOK_PROTECTION_FLAGS_1);
|
|
6623
|
+
}
|
|
6624
|
+
finally { if (e_70) throw e_70.error; }
|
|
6625
|
+
}
|
|
6626
|
+
try {
|
|
6627
|
+
for (var WORKBOOK_PROTECTION_TEXT_ATTRS_1 = __values(WORKBOOK_PROTECTION_TEXT_ATTRS), WORKBOOK_PROTECTION_TEXT_ATTRS_1_1 = WORKBOOK_PROTECTION_TEXT_ATTRS_1.next(); !WORKBOOK_PROTECTION_TEXT_ATTRS_1_1.done; WORKBOOK_PROTECTION_TEXT_ATTRS_1_1 = WORKBOOK_PROTECTION_TEXT_ATTRS_1.next()) {
|
|
6628
|
+
var key = WORKBOOK_PROTECTION_TEXT_ATTRS_1_1.value;
|
|
6629
|
+
if (attrs[key])
|
|
6630
|
+
protection[key] = attrs[key];
|
|
6631
|
+
}
|
|
6632
|
+
}
|
|
6633
|
+
catch (e_71_1) { e_71 = { error: e_71_1 }; }
|
|
6634
|
+
finally {
|
|
6635
|
+
try {
|
|
6636
|
+
if (WORKBOOK_PROTECTION_TEXT_ATTRS_1_1 && !WORKBOOK_PROTECTION_TEXT_ATTRS_1_1.done && (_b = WORKBOOK_PROTECTION_TEXT_ATTRS_1.return)) _b.call(WORKBOOK_PROTECTION_TEXT_ATTRS_1);
|
|
6637
|
+
}
|
|
6638
|
+
finally { if (e_71) throw e_71.error; }
|
|
6639
|
+
}
|
|
6640
|
+
try {
|
|
6641
|
+
for (var _d = __values(["workbookSpinCount", "revisionsSpinCount"]), _e = _d.next(); !_e.done; _e = _d.next()) {
|
|
6642
|
+
var key = _e.value;
|
|
6643
|
+
if (attrs[key] !== undefined) {
|
|
6644
|
+
var count = parseInt(attrs[key], 10);
|
|
6645
|
+
if (Number.isFinite(count))
|
|
6646
|
+
protection[key] = count;
|
|
6647
|
+
}
|
|
6648
|
+
}
|
|
6649
|
+
}
|
|
6650
|
+
catch (e_72_1) { e_72 = { error: e_72_1 }; }
|
|
6651
|
+
finally {
|
|
6652
|
+
try {
|
|
6653
|
+
if (_e && !_e.done && (_c = _d.return)) _c.call(_d);
|
|
6654
|
+
}
|
|
6655
|
+
finally { if (e_72) throw e_72.error; }
|
|
6656
|
+
}
|
|
6657
|
+
return protection;
|
|
6658
|
+
};
|
|
6526
6659
|
/**
|
|
6527
6660
|
* `<sheetProtection …>` attributes → `Sheet.sheetProtection`. Only attributes
|
|
6528
6661
|
* present in the source are set (`"1"|"true"` → true, anything else → false),
|
|
@@ -6531,7 +6664,7 @@ var SHEET_PROTECTION_FLAGS = [
|
|
|
6531
6664
|
* Mirrors `rnc-import`'s `read_sheet_protection`.
|
|
6532
6665
|
*/
|
|
6533
6666
|
var readSheetProtectionAttrs = function (attrs) {
|
|
6534
|
-
var
|
|
6667
|
+
var e_73, _a;
|
|
6535
6668
|
var protection = {};
|
|
6536
6669
|
try {
|
|
6537
6670
|
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()) {
|
|
@@ -6542,12 +6675,12 @@ var readSheetProtectionAttrs = function (attrs) {
|
|
|
6542
6675
|
}
|
|
6543
6676
|
}
|
|
6544
6677
|
}
|
|
6545
|
-
catch (
|
|
6678
|
+
catch (e_73_1) { e_73 = { error: e_73_1 }; }
|
|
6546
6679
|
finally {
|
|
6547
6680
|
try {
|
|
6548
6681
|
if (SHEET_PROTECTION_FLAGS_1_1 && !SHEET_PROTECTION_FLAGS_1_1.done && (_a = SHEET_PROTECTION_FLAGS_1.return)) _a.call(SHEET_PROTECTION_FLAGS_1);
|
|
6549
6682
|
}
|
|
6550
|
-
finally { if (
|
|
6683
|
+
finally { if (e_73) throw e_73.error; }
|
|
6551
6684
|
}
|
|
6552
6685
|
if (attrs.password)
|
|
6553
6686
|
protection.password = attrs.password;
|
|
@@ -6571,7 +6704,7 @@ var readSheetProtectionAttrs = function (attrs) {
|
|
|
6571
6704
|
* (Excel writes one per element in practice).
|
|
6572
6705
|
*/
|
|
6573
6706
|
var protectedRangesFromEntries = function (sheetId, entries) {
|
|
6574
|
-
var
|
|
6707
|
+
var e_74, _a;
|
|
6575
6708
|
var ranges = [];
|
|
6576
6709
|
try {
|
|
6577
6710
|
for (var entries_1 = __values(entries), entries_1_1 = entries_1.next(); !entries_1_1.done; entries_1_1 = entries_1.next()) {
|
|
@@ -6591,12 +6724,12 @@ var protectedRangesFromEntries = function (sheetId, entries) {
|
|
|
6591
6724
|
ranges.push(protectedRange);
|
|
6592
6725
|
}
|
|
6593
6726
|
}
|
|
6594
|
-
catch (
|
|
6727
|
+
catch (e_74_1) { e_74 = { error: e_74_1 }; }
|
|
6595
6728
|
finally {
|
|
6596
6729
|
try {
|
|
6597
6730
|
if (entries_1_1 && !entries_1_1.done && (_a = entries_1.return)) _a.call(entries_1);
|
|
6598
6731
|
}
|
|
6599
|
-
finally { if (
|
|
6732
|
+
finally { if (e_74) throw e_74.error; }
|
|
6600
6733
|
}
|
|
6601
6734
|
return ranges;
|
|
6602
6735
|
};
|
|
@@ -6620,7 +6753,7 @@ var xmlFloatOpt = function (value) {
|
|
|
6620
6753
|
return Number.isFinite(n) ? n : undefined;
|
|
6621
6754
|
};
|
|
6622
6755
|
var stripUndefined = function (value) {
|
|
6623
|
-
var
|
|
6756
|
+
var e_75, _a;
|
|
6624
6757
|
try {
|
|
6625
6758
|
for (var _b = __values(Object.keys(value)), _c = _b.next(); !_c.done; _c = _b.next()) {
|
|
6626
6759
|
var key = _c.value;
|
|
@@ -6628,12 +6761,12 @@ var stripUndefined = function (value) {
|
|
|
6628
6761
|
delete value[key];
|
|
6629
6762
|
}
|
|
6630
6763
|
}
|
|
6631
|
-
catch (
|
|
6764
|
+
catch (e_75_1) { e_75 = { error: e_75_1 }; }
|
|
6632
6765
|
finally {
|
|
6633
6766
|
try {
|
|
6634
6767
|
if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
|
|
6635
6768
|
}
|
|
6636
|
-
finally { if (
|
|
6769
|
+
finally { if (e_75) throw e_75.error; }
|
|
6637
6770
|
}
|
|
6638
6771
|
return value;
|
|
6639
6772
|
};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import type { GridRange, NamedCellStyle } from "@rowsncolumns/common-types";
|
|
2
|
-
import type { CellData, Color, ExtendedValue, TextFormat } from "@rowsncolumns/spreadsheet";
|
|
1
|
+
import type { GridRange, Maybe, NamedCellStyle } from "@rowsncolumns/common-types";
|
|
2
|
+
import type { BorderStyle, CellData, Color, ExtendedValue, TextFormat } from "@rowsncolumns/spreadsheet";
|
|
3
3
|
import type { WorkBook } from "../../workbook";
|
|
4
4
|
import type { WorkbookStyles } from "./index";
|
|
5
5
|
type MergeCellContext = {
|
|
@@ -54,5 +54,20 @@ export declare function fontNodeToTextFormat(font: any, workbookStyles: Workbook
|
|
|
54
54
|
* Extract color information
|
|
55
55
|
*/
|
|
56
56
|
export declare function extractColor(colorObj: any, indexedColors?: Array<string | undefined>): Color | undefined | null;
|
|
57
|
+
/**
|
|
58
|
+
* Map Excel number format ID to our NumberFormatType
|
|
59
|
+
*/
|
|
60
|
+
export declare function mapNumberFormatType(numFmtId: number, formatCode: Maybe<string>): "GENERAL" | "NUMBER" | "CURRENCY" | "ACCOUNTING" | "DATE" | "TIME" | "DATE_TIME" | "PERCENT" | "FRACTION" | "SCIENTIFIC" | "TEXT";
|
|
61
|
+
/**
|
|
62
|
+
* Map Excel border style to our BorderStyle. Covers all 13 OOXML
|
|
63
|
+
* styles; the previous reduced set silently collapsed `hair` →
|
|
64
|
+
* `thin` and lost `mediumDashed` / `dashDot` / `dashDotDot` /
|
|
65
|
+
* `slantDashDot` entirely.
|
|
66
|
+
*/
|
|
67
|
+
export declare function mapBorderStyle(excelStyle: any): BorderStyle;
|
|
68
|
+
/**
|
|
69
|
+
* Map border width based on style
|
|
70
|
+
*/
|
|
71
|
+
export declare function mapBorderWidth(excelStyle: any): 1 | 2 | 3;
|
|
57
72
|
export {};
|
|
58
73
|
//# sourceMappingURL=styles.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"styles.d.ts","sourceRoot":"","sources":["../../../../../excel-parser/plugins/xlsx/styles.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,SAAS,
|
|
1
|
+
{"version":3,"file":"styles.d.ts","sourceRoot":"","sources":["../../../../../excel-parser/plugins/xlsx/styles.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,SAAS,EACT,KAAK,EACL,cAAc,EACf,MAAM,4BAA4B,CAAC;AACpC,OAAO,KAAK,EAEV,WAAW,EACX,QAAQ,EAER,KAAK,EAEL,aAAa,EAIb,UAAU,EACX,MAAM,2BAA2B,CAAC;AAMnC,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAuD9C,KAAK,gBAAgB,GAAG;IACtB,KAAK,EAAE,SAAS,CAAC;IACjB,qBAAqB,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CACzC,CAAC;AAEF;;;;;GAKG;AAEH,6DAA6D;AAC7D,eAAO,MAAM,qBAAqB,OAAO,CAAC;AAE1C;;;GAGG;AACH,eAAO,MAAM,oBAAoB,GAAI,MAAM,MAAM,GAAG,SAAS,KAAG,OACvB,CAAC;AAE1C,wBAAgB,qBAAqB,CACnC,IAAI,EAAE,GAAG,EACT,QAAQ,EAAE,QAAQ,EAClB,qBAAqB,UAAQ,EAC7B,mBAAmB,UAAQ,EAC3B,eAAe,CAAC,EAAE,MAAM,EACxB,YAAY,CAAC,EAAE,gBAAgB,GAC9B,QAAQ,GAAG,IAAI,CAuKjB;AAED;;;;;;;GAOG;AACH,wBAAgB,wBAAwB,CACtC,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,QAAQ,EAClB,qBAAqB,UAAQ,GAC5B,QAAQ,GAAG,IAAI,CAoBjB;AAED,eAAO,MAAM,gBAAgB,GAAI,UAAU,GAAG,KAAG,aAAa,GAAG,SAShE,CAAC;AAsUF;;;GAGG;AACH,wBAAgB,qBAAqB,CACnC,IAAI,EAAE,GAAG,EACT,cAAc,EAAE,cAAc,GAC7B;IAAE,MAAM,CAAC,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,SAAS,CAUpD;AAgCD;;;;;GAKG;AACH,wBAAgB,sBAAsB,CACpC,cAAc,EAAE,cAAc,GAAG,SAAS,GAAG,IAAI,GAChD,cAAc,EAAE,CAuBlB;AA4ND;;;GAGG;AACH,wBAAgB,oBAAoB,CAClC,IAAI,EAAE,GAAG,EACT,cAAc,EAAE,cAAc,GAC7B,UAAU,GAAG,IAAI,CAwFnB;AAED;;GAEG;AACH,wBAAgB,YAAY,CAC1B,QAAQ,EAAE,GAAG,EACb,aAAa,CAAC,EAAE,KAAK,CAAC,MAAM,GAAG,SAAS,CAAC,GACxC,KAAK,GAAG,SAAS,GAAG,IAAI,CA8C1B;AAiCD;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,KAAK,CAAC,MAAM,CAAC,qIA6K9E;AAmRD;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,UAAU,EAAE,GAAG,GAAG,WAAW,CA6B3D;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,UAAU,EAAE,GAAG,aAwB7C"}
|
|
@@ -2,7 +2,7 @@ import { __assign, __read, __values } from "tslib";
|
|
|
2
2
|
import { formulaToRelativeReference } from "@rowsncolumns/calculator";
|
|
3
3
|
import { IndexedColors } from "@rowsncolumns/utils";
|
|
4
4
|
import { addressToCell, ssfFormat } from "@rowsncolumns/utils";
|
|
5
|
-
import {
|
|
5
|
+
import { normalizeImportedFormula } from "../../../helpers/excel-formula-prefixes";
|
|
6
6
|
import { standardExcelFormatCodeById } from "./numfmt";
|
|
7
7
|
import { detectValueTypeAndPattern } from "./value-type-detection";
|
|
8
8
|
var getNode = function (node) {
|
|
@@ -95,7 +95,7 @@ export function getCellValueAndFormat(cell, workbook, enableCellXfsRegistry, ena
|
|
|
95
95
|
return null;
|
|
96
96
|
}
|
|
97
97
|
// Extract raw value
|
|
98
|
-
var _d = extractCellValue(cell, workbook, activeSheetName), extractedRawValue = _d.rawValue, formulaValue = _d.formulaValue, sharedStringIndex = _d.sharedStringIndex, isError = _d.isError, arrayFormulaRef = _d.arrayFormulaRef, sharedFormulaSpec = _d.sharedFormulaSpec;
|
|
98
|
+
var _d = extractCellValue(cell, workbook, activeSheetName), extractedRawValue = _d.rawValue, formulaValue = _d.formulaValue, sharedStringIndex = _d.sharedStringIndex, isError = _d.isError, arrayFormulaRef = _d.arrayFormulaRef, legacyArrayFormula = _d.legacyArrayFormula, sharedFormulaSpec = _d.sharedFormulaSpec;
|
|
99
99
|
var rawValue = extractedRawValue;
|
|
100
100
|
// Extract cell format
|
|
101
101
|
var cellFormat = extractCellFormat(cell, workbook.workbookStyles, mergeContext);
|
|
@@ -200,7 +200,7 @@ export function getCellValueAndFormat(cell, workbook, enableCellXfsRegistry, ena
|
|
|
200
200
|
: typeof rawValue === "string"
|
|
201
201
|
? rawValue
|
|
202
202
|
: ssfFormat(pattern, rawValue);
|
|
203
|
-
return __assign(__assign(__assign(__assign(__assign(__assign(__assign({}, (hasFormat ? { uf: ef } : {})), (fv !== undefined ? { fv: fv } : {})), (ue ? { ue: ue } : {})), (ev ? { ev: ev } : {})), (arrayFormulaRef ? { af: arrayFormulaRef } : {})), (sharedFormulaSpec ? { sf: sharedFormulaSpec } : {})), (protection ? { protection: protection } : {}));
|
|
203
|
+
return __assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign({}, (hasFormat ? { uf: ef } : {})), (fv !== undefined ? { fv: fv } : {})), (ue ? { ue: ue } : {})), (ev ? { ev: ev } : {})), (arrayFormulaRef ? { af: arrayFormulaRef } : {})), (arrayFormulaRef && legacyArrayFormula ? { cse: true } : {})), (sharedFormulaSpec ? { sf: sharedFormulaSpec } : {})), (protection ? { protection: protection } : {}));
|
|
204
204
|
}
|
|
205
205
|
/**
|
|
206
206
|
* Build a format-only CellData for a style index that a cell inherits from
|
|
@@ -239,7 +239,7 @@ export var getExtendedValue = function (rawValue) {
|
|
|
239
239
|
* Extract the raw and formatted value from a cell
|
|
240
240
|
*/
|
|
241
241
|
function extractCellValue(cell, workbook, activeSheetName) {
|
|
242
|
-
var _a, _b, _c, _d, _e, _f, _g, _h, _j;
|
|
242
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l;
|
|
243
243
|
// Handle namespaced properties (x:v and x:f)
|
|
244
244
|
var cellValueNode = (_a = cell.v) !== null && _a !== void 0 ? _a : cell["x:v"];
|
|
245
245
|
var cellValueText = getNodeText(cellValueNode);
|
|
@@ -261,6 +261,7 @@ function extractCellValue(cell, workbook, activeSheetName) {
|
|
|
261
261
|
var sharedStringIndex;
|
|
262
262
|
var isError = false;
|
|
263
263
|
var arrayFormulaRef;
|
|
264
|
+
var legacyArrayFormula = false;
|
|
264
265
|
var sharedFormulaSpec;
|
|
265
266
|
if (cellFormula) {
|
|
266
267
|
// Shared formula. Capture provenance so the exporter can re-emit
|
|
@@ -289,10 +290,16 @@ function extractCellValue(cell, workbook, activeSheetName) {
|
|
|
289
290
|
// carries the `<f>` element; spilled cells in the range have no formula
|
|
290
291
|
// and therefore never reach this branch. Default to the cell's own
|
|
291
292
|
// coordinate when `ref` is absent (some writers omit it for single-cell).
|
|
293
|
+
// Excel 365 marks a dynamic-array anchor with `cm="1"` on the `<c>`
|
|
294
|
+
// (an index into `xl/metadata.xml`'s XLDAPR record); the same
|
|
295
|
+
// `<f t="array">` without `cm` is a legacy Ctrl+Shift+Enter array, which
|
|
296
|
+
// Excel keeps showing as `{=…}`. Remember which one it was so the
|
|
297
|
+
// exporter writes the same kind back.
|
|
292
298
|
if (cellFormula.a$ && cellFormula.a$.t === "array") {
|
|
293
299
|
var cellRef = (_c = cell.a$) === null || _c === void 0 ? void 0 : _c.r;
|
|
294
300
|
arrayFormulaRef =
|
|
295
301
|
(_d = cellFormula.a$.ref) !== null && _d !== void 0 ? _d : (cellRef ? "".concat(cellRef, ":").concat(cellRef) : undefined);
|
|
302
|
+
legacyArrayFormula = ((_e = cell.a$) === null || _e === void 0 ? void 0 : _e.cm) === undefined || ((_f = cell.a$) === null || _f === void 0 ? void 0 : _f.cm) === null;
|
|
296
303
|
}
|
|
297
304
|
// Shared-formula followers parse as `{ a$: { t: "shared", si }, t$: "" }` —
|
|
298
305
|
// the self-closing `<f t="shared" si=".."/>` has no text content but the
|
|
@@ -315,9 +322,9 @@ function extractCellValue(cell, workbook, activeSheetName) {
|
|
|
315
322
|
// Pass `preserveAbsolutes: true` explicitly — the default shifts
|
|
316
323
|
// `$A$1` along with relative refs, which corrupts followers.
|
|
317
324
|
var sharedIndex = cellFormula.a$.si;
|
|
318
|
-
var sFormula = (
|
|
325
|
+
var sFormula = (_g = workbook.sharedFormulaMap) === null || _g === void 0 ? void 0 : _g.get(sharedIndex);
|
|
319
326
|
if (sFormula) {
|
|
320
|
-
var
|
|
327
|
+
var _m = __read(sFormula, 2), sharedFormula = _m[0], sourceCell = _m[1];
|
|
321
328
|
var sourceCellInterface = addressToCell(sourceCell);
|
|
322
329
|
var destinationCell = addressToCell(cell.a$.r);
|
|
323
330
|
if (sourceCellInterface && destinationCell) {
|
|
@@ -331,9 +338,12 @@ function extractCellValue(cell, workbook, activeSheetName) {
|
|
|
331
338
|
}
|
|
332
339
|
}
|
|
333
340
|
if (formulaValue) {
|
|
334
|
-
//
|
|
335
|
-
// `_xlfn.
|
|
336
|
-
|
|
341
|
+
// Sheet XML spells modern formulas with storage markers Excel never
|
|
342
|
+
// shows — `_xlfn.XLOOKUP(`, `_xlfn._xlws.FILTER(`, `_xlpm.` on LET /
|
|
343
|
+
// LAMBDA parameters, `_xlfn.ANCHORARRAY(A1)` for `A1#` and
|
|
344
|
+
// `_xlfn.SINGLE(x)` for `@x`. Store the formula the way Excel displays
|
|
345
|
+
// it; the exporter re-adds the markers.
|
|
346
|
+
formulaValue = normalizeImportedFormula(normalizeFormulaSheetNames(formulaValue));
|
|
337
347
|
}
|
|
338
348
|
switch (cellType) {
|
|
339
349
|
case "s": {
|
|
@@ -343,7 +353,7 @@ function extractCellValue(cell, workbook, activeSheetName) {
|
|
|
343
353
|
if (!Number.isNaN(stringIndex)) {
|
|
344
354
|
sharedStringIndex = stringIndex;
|
|
345
355
|
rawValue =
|
|
346
|
-
(
|
|
356
|
+
(_k = (_j = (_h = workbook.sharedStrings) === null || _h === void 0 ? void 0 : _h[stringIndex]) !== null && _j !== void 0 ? _j : cellValueText) !== null && _k !== void 0 ? _k : "";
|
|
347
357
|
}
|
|
348
358
|
else {
|
|
349
359
|
rawValue = cellValueText !== null && cellValueText !== void 0 ? cellValueText : "";
|
|
@@ -368,7 +378,7 @@ function extractCellValue(cell, workbook, activeSheetName) {
|
|
|
368
378
|
var styleIndex = parseInt(cell.a$.s);
|
|
369
379
|
// You'll need a function to get the numFmtId from the style
|
|
370
380
|
var xf = workbook.workbookStyles.getCellXfs(styleIndex);
|
|
371
|
-
var numFmtId = ((
|
|
381
|
+
var numFmtId = ((_l = xf === null || xf === void 0 ? void 0 : xf.a$) === null || _l === void 0 ? void 0 : _l.numFmtId) ? parseInt(xf.a$.numFmtId) : NaN;
|
|
372
382
|
// Time formats typically have numFmtId values: 18-21 and 45-47
|
|
373
383
|
// Date formats typically have numFmtId values: 14-17 and 22
|
|
374
384
|
var isTimeFormat = [18, 19, 20, 21, 45, 46, 47].includes(numFmtId);
|
|
@@ -413,6 +423,7 @@ function extractCellValue(cell, workbook, activeSheetName) {
|
|
|
413
423
|
sharedStringIndex: sharedStringIndex,
|
|
414
424
|
isError: isError,
|
|
415
425
|
arrayFormulaRef: arrayFormulaRef,
|
|
426
|
+
legacyArrayFormula: legacyArrayFormula,
|
|
416
427
|
sharedFormulaSpec: sharedFormulaSpec,
|
|
417
428
|
};
|
|
418
429
|
}
|
|
@@ -927,7 +938,7 @@ function extractNumberFormat(xf, workbookStyles) {
|
|
|
927
938
|
/**
|
|
928
939
|
* Map Excel number format ID to our NumberFormatType
|
|
929
940
|
*/
|
|
930
|
-
function mapNumberFormatType(numFmtId, formatCode) {
|
|
941
|
+
export function mapNumberFormatType(numFmtId, formatCode) {
|
|
931
942
|
// Built-in format ids
|
|
932
943
|
switch (numFmtId) {
|
|
933
944
|
case 0:
|
|
@@ -1342,7 +1353,7 @@ function extractBorders(xf, workbookStyles) {
|
|
|
1342
1353
|
* `thin` and lost `mediumDashed` / `dashDot` / `dashDotDot` /
|
|
1343
1354
|
* `slantDashDot` entirely.
|
|
1344
1355
|
*/
|
|
1345
|
-
function mapBorderStyle(excelStyle) {
|
|
1356
|
+
export function mapBorderStyle(excelStyle) {
|
|
1346
1357
|
switch (excelStyle) {
|
|
1347
1358
|
case "hair":
|
|
1348
1359
|
return "hair";
|
|
@@ -1375,7 +1386,7 @@ function mapBorderStyle(excelStyle) {
|
|
|
1375
1386
|
/**
|
|
1376
1387
|
* Map border width based on style
|
|
1377
1388
|
*/
|
|
1378
|
-
function mapBorderWidth(excelStyle) {
|
|
1389
|
+
export function mapBorderWidth(excelStyle) {
|
|
1379
1390
|
switch (excelStyle) {
|
|
1380
1391
|
case "hair":
|
|
1381
1392
|
// Hair is the lightest border in OOXML — slightly thinner than
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { CellData, ConditionalFormatRule, DataValidationRuleRecord, EmbeddedChart, NamedRange, ProtectedRange, Slicer, SpreadsheetTheme, TableView } from "@rowsncolumns/spreadsheet";
|
|
1
|
+
import type { CellData, ConditionalFormatRule, DataValidationRuleRecord, EmbeddedChart, NamedRange, ProtectedRange, Slicer, SpreadsheetTheme, TableView, WorkbookProtection } from "@rowsncolumns/spreadsheet";
|
|
2
2
|
import type { CommentThread, IterativeCalculationOptions, NamedCellStyle } from "@rowsncolumns/common-types";
|
|
3
3
|
import type { CustomTableStyle, EmbeddedObject } from "@rowsncolumns/spreadsheet";
|
|
4
4
|
import { type Sheet } from "@rowsncolumns/spreadsheet";
|
|
@@ -217,6 +217,8 @@ export type WorkerResponse = {
|
|
|
217
217
|
error?: string;
|
|
218
218
|
requiresRecalc?: boolean;
|
|
219
219
|
iterativeCalculationOptions?: IterativeCalculationOptions;
|
|
220
|
+
/** `<workbookProtection>` — Excel's "Protect Workbook" state, when present. */
|
|
221
|
+
workbookProtection?: WorkbookProtection;
|
|
220
222
|
/**
|
|
221
223
|
* The source workbook declared the 1904 date system. The emitted cell
|
|
222
224
|
* data is already converted to the 1900 system (date-formatted
|
|
@@ -349,6 +351,8 @@ export type WorkerResponse = {
|
|
|
349
351
|
namedRanges: NamedRange[];
|
|
350
352
|
requiresRecalc?: boolean;
|
|
351
353
|
iterativeCalculationOptions?: IterativeCalculationOptions;
|
|
354
|
+
/** `<workbookProtection>` — Excel's "Protect Workbook" state, when present. */
|
|
355
|
+
workbookProtection?: WorkbookProtection;
|
|
352
356
|
/** Source workbook was 1904-system; chunk data is 1900-system (see `PARSE_EXCEL_SUCCESS`). */
|
|
353
357
|
use1904?: boolean;
|
|
354
358
|
} | ({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../excel-parser/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,QAAQ,EACR,qBAAqB,EACrB,wBAAwB,EACxB,aAAa,EACb,UAAU,EACV,cAAc,EACd,MAAM,EACN,gBAAgB,EAChB,SAAS,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../excel-parser/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -31,6 +31,7 @@ export declare class WorkBook implements IWorkbookPlugin {
|
|
|
31
31
|
get sharedFormulaMap(): Map<string, [string, string]> | undefined;
|
|
32
32
|
requiresRecalc(): boolean;
|
|
33
33
|
getIterativeCalculationOptions(): import("@rowsncolumns/common-types").IterativeCalculationOptions | undefined;
|
|
34
|
+
getWorkbookProtection(): import("@rowsncolumns/spreadsheet").WorkbookProtection | undefined;
|
|
34
35
|
getUse1904Epoch(): boolean;
|
|
35
36
|
getSharedStrings(): string[];
|
|
36
37
|
processSheetData(chunkSize?: number, enableCellXfsRegistry?: boolean, enableSharedStrings?: boolean, onPhase?: (phase: string, sheetTitle?: string) => void): AsyncGenerator<import("./types").ProcessSheetDataResult, void, unknown>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workbook.d.ts","sourceRoot":"","sources":["../../../excel-parser/workbook.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAGlE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,EACL,2BAA2B,IAAI,4BAA4B,EAC3D,cAAc,EACf,MAAM,sBAAsB,CAAC;AAE9B,OAAO,KAAK,EACV,+BAA+B,EAC/B,iBAAiB,EAClB,MAAM,SAAS,CAAC;AAsBjB,qBAAa,QAAS,YAAW,eAAe;IAC9C,OAAO,CAAC,MAAM,CAAmB;;IAI3B,IAAI,CAAC,MAAM,EAAE,WAAW,GAAG,IAAI,EAAE,QAAQ,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM;IAqB3E,OAAO;IAIP,aAAa;IAIb,SAAS,CAAC,WAAW,CAAC,EAAE,MAAM,EAAE,cAAc,CAAC,EAAE,MAAM;IAIvD;;;;OAIG;IACG,eAAe,IAAI,OAAO,CAAC,iBAAiB,EAAE,CAAC;IAe/C,QAAQ,CACZ,OAAO,EAAE,MAAM,EACf,WAAW,CAAC,EAAE,MAAM,EACpB,cAAc,CAAC,EAAE,MAAM,GACtB,OAAO,CAAC,CAAC,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;IAehC,QAAQ;IAIR,6EAA6E;IAC7E,kBAAkB;IAGlB,oBAAoB;IAIpB,0EAA0E;IAC1E,cAAc;IAId,QAAQ;IAIR,UAAU;IAIV,SAAS;IAIT,IAAI,cAAc,QAEjB;IAED,IAAI,aAAa,yBAEhB;IAED,IAAI,oBAAoB,kFAEvB;IAED,IAAI,gBAAgB,8CAEnB;IAED,cAAc;IAId,8BAA8B;IAI9B,eAAe;IAIf,gBAAgB;IAIhB,gBAAgB,CACd,SAAS,CAAC,EAAE,MAAM,EAClB,qBAAqB,CAAC,EAAE,OAAO,EAC/B,mBAAmB,CAAC,EAAE,OAAO,EAC7B,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,KAAK,IAAI;IAUxD,wBAAwB,CAAC,OAAO,EAAE,+BAA+B;IAmBjE,kBAAkB,CAAC,OAAO,EAAE,MAAM;IAIlC,WAAW;IAIX,SAAS;IAIT,wBAAwB,CAAC,OAAO,CAAC,EAAE,MAAM;IAgBzC,kBAAkB,CAAC,OAAO,CAAC,EAAE,MAAM;IAgBnC,cAAc;IAId,kBAAkB,CAAC,OAAO,CAAC,EAAE,MAAM;IAInC,iBAAiB,CAAC,OAAO,CAAC,EAAE,MAAM;IAIlC,UAAU;IAIV,cAAc;IAId,aAAa;IAIb,gBAAgB;IAIV,aAAa;IAInB,cAAc,CAAC,MAAM,EAAE,GAAG;CAM3B;AAED,eAAO,MAAM,2BAA2B,qCAA+B,CAAC;AACxE,OAAO,EAAE,cAAc,EAAE,CAAC"}
|
|
1
|
+
{"version":3,"file":"workbook.d.ts","sourceRoot":"","sources":["../../../excel-parser/workbook.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAGlE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,EACL,2BAA2B,IAAI,4BAA4B,EAC3D,cAAc,EACf,MAAM,sBAAsB,CAAC;AAE9B,OAAO,KAAK,EACV,+BAA+B,EAC/B,iBAAiB,EAClB,MAAM,SAAS,CAAC;AAsBjB,qBAAa,QAAS,YAAW,eAAe;IAC9C,OAAO,CAAC,MAAM,CAAmB;;IAI3B,IAAI,CAAC,MAAM,EAAE,WAAW,GAAG,IAAI,EAAE,QAAQ,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM;IAqB3E,OAAO;IAIP,aAAa;IAIb,SAAS,CAAC,WAAW,CAAC,EAAE,MAAM,EAAE,cAAc,CAAC,EAAE,MAAM;IAIvD;;;;OAIG;IACG,eAAe,IAAI,OAAO,CAAC,iBAAiB,EAAE,CAAC;IAe/C,QAAQ,CACZ,OAAO,EAAE,MAAM,EACf,WAAW,CAAC,EAAE,MAAM,EACpB,cAAc,CAAC,EAAE,MAAM,GACtB,OAAO,CAAC,CAAC,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;IAehC,QAAQ;IAIR,6EAA6E;IAC7E,kBAAkB;IAGlB,oBAAoB;IAIpB,0EAA0E;IAC1E,cAAc;IAId,QAAQ;IAIR,UAAU;IAIV,SAAS;IAIT,IAAI,cAAc,QAEjB;IAED,IAAI,aAAa,yBAEhB;IAED,IAAI,oBAAoB,kFAEvB;IAED,IAAI,gBAAgB,8CAEnB;IAED,cAAc;IAId,8BAA8B;IAI9B,qBAAqB;IAIrB,eAAe;IAIf,gBAAgB;IAIhB,gBAAgB,CACd,SAAS,CAAC,EAAE,MAAM,EAClB,qBAAqB,CAAC,EAAE,OAAO,EAC/B,mBAAmB,CAAC,EAAE,OAAO,EAC7B,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,KAAK,IAAI;IAUxD,wBAAwB,CAAC,OAAO,EAAE,+BAA+B;IAmBjE,kBAAkB,CAAC,OAAO,EAAE,MAAM;IAIlC,WAAW;IAIX,SAAS;IAIT,wBAAwB,CAAC,OAAO,CAAC,EAAE,MAAM;IAgBzC,kBAAkB,CAAC,OAAO,CAAC,EAAE,MAAM;IAgBnC,cAAc;IAId,kBAAkB,CAAC,OAAO,CAAC,EAAE,MAAM;IAInC,iBAAiB,CAAC,OAAO,CAAC,EAAE,MAAM;IAIlC,UAAU;IAIV,cAAc;IAId,aAAa;IAIb,gBAAgB;IAIV,aAAa;IAInB,cAAc,CAAC,MAAM,EAAE,GAAG;CAM3B;AAED,eAAO,MAAM,2BAA2B,qCAA+B,CAAC;AACxE,OAAO,EAAE,cAAc,EAAE,CAAC"}
|