@leankylin-sheet/excel 5.2.67 → 5.2.69
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/ToExcel/ExcelStyle.d.ts +2 -1
- package/dist/index.esm.js +11 -1
- package/dist/index.js +11 -1
- package/package.json +1 -1
|
@@ -1,3 +1,4 @@
|
|
|
1
1
|
import ExcelJS from "exceljs";
|
|
2
|
+
declare const convertFormula: (formula: string) => string;
|
|
2
3
|
declare const setStyleAndValue: (table: any, worksheet: ExcelJS.Worksheet, variables?: any) => void;
|
|
3
|
-
export { setStyleAndValue };
|
|
4
|
+
export { setStyleAndValue, convertFormula };
|
package/dist/index.esm.js
CHANGED
|
@@ -5093,6 +5093,16 @@ var replaceVariablesInFormula = function replaceVariablesInFormula(formula, vari
|
|
|
5093
5093
|
return String(value);
|
|
5094
5094
|
});
|
|
5095
5095
|
};
|
|
5096
|
+
var XLFN_FUNCTIONS = ["IFNA"];
|
|
5097
|
+
var convertFormula = function convertFormula(formula) {
|
|
5098
|
+
if (!formula) return formula;
|
|
5099
|
+
var reg = new RegExp("(?<![\\w.])(?:".concat(XLFN_FUNCTIONS.join("|"), ")\\b"), "gi");
|
|
5100
|
+
return formula.split(/("(?:[^"]|"")*")/).map(function (segment, index) {
|
|
5101
|
+
return index % 2 === 1 ? segment : segment.replace(reg, function (match) {
|
|
5102
|
+
return "_xlfn.".concat(match.toUpperCase());
|
|
5103
|
+
});
|
|
5104
|
+
}).join("");
|
|
5105
|
+
};
|
|
5096
5106
|
var setStyleAndValue = function setStyleAndValue(table, worksheet, variables) {
|
|
5097
5107
|
var cellArr = table === null || table === void 0 ? void 0 : table.data;
|
|
5098
5108
|
if (!Array.isArray(cellArr)) return;
|
|
@@ -5187,7 +5197,7 @@ var setStyleAndValue = function setStyleAndValue(table, worksheet, variables) {
|
|
|
5187
5197
|
if (cell.f && _typeof(v) !== "object") {
|
|
5188
5198
|
var formulaStr = cell.f.startsWith("=") ? cell.f.slice(1) : cell.f;
|
|
5189
5199
|
value = {
|
|
5190
|
-
formula: replaceVariablesInFormula(formulaStr, variables, table.id),
|
|
5200
|
+
formula: convertFormula(replaceVariablesInFormula(formulaStr, variables, table.id)),
|
|
5191
5201
|
result: v
|
|
5192
5202
|
};
|
|
5193
5203
|
} else {
|
package/dist/index.js
CHANGED
|
@@ -5105,6 +5105,16 @@ var replaceVariablesInFormula = function replaceVariablesInFormula(formula, vari
|
|
|
5105
5105
|
return String(value);
|
|
5106
5106
|
});
|
|
5107
5107
|
};
|
|
5108
|
+
var XLFN_FUNCTIONS = ["IFNA"];
|
|
5109
|
+
var convertFormula = function convertFormula(formula) {
|
|
5110
|
+
if (!formula) return formula;
|
|
5111
|
+
var reg = new RegExp("(?<![\\w.])(?:".concat(XLFN_FUNCTIONS.join("|"), ")\\b"), "gi");
|
|
5112
|
+
return formula.split(/("(?:[^"]|"")*")/).map(function (segment, index) {
|
|
5113
|
+
return index % 2 === 1 ? segment : segment.replace(reg, function (match) {
|
|
5114
|
+
return "_xlfn.".concat(match.toUpperCase());
|
|
5115
|
+
});
|
|
5116
|
+
}).join("");
|
|
5117
|
+
};
|
|
5108
5118
|
var setStyleAndValue = function setStyleAndValue(table, worksheet, variables) {
|
|
5109
5119
|
var cellArr = table === null || table === void 0 ? void 0 : table.data;
|
|
5110
5120
|
if (!Array.isArray(cellArr)) return;
|
|
@@ -5199,7 +5209,7 @@ var setStyleAndValue = function setStyleAndValue(table, worksheet, variables) {
|
|
|
5199
5209
|
if (cell.f && _typeof(v) !== "object") {
|
|
5200
5210
|
var formulaStr = cell.f.startsWith("=") ? cell.f.slice(1) : cell.f;
|
|
5201
5211
|
value = {
|
|
5202
|
-
formula: replaceVariablesInFormula(formulaStr, variables, table.id),
|
|
5212
|
+
formula: convertFormula(replaceVariablesInFormula(formulaStr, variables, table.id)),
|
|
5203
5213
|
result: v
|
|
5204
5214
|
};
|
|
5205
5215
|
} else {
|