@corbe30/fortune-excel 1.0.3 → 1.0.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.vscode/settings.json +3 -0
- package/README.md +24 -24
- package/dist/HandleZip.js +90 -34
- package/dist/ImportHelper.d.ts +2 -0
- package/dist/ImportHelper.js +51 -0
- package/dist/ToExcel/ExcelBorder.js +141 -141
- package/dist/ToExcel/ExcelConvert.js +19 -8
- package/dist/ToExcel/ExcelFile.js +66 -22
- package/dist/ToExcel/ExcelImage.js +27 -17
- package/dist/ToExcel/ExcelStyle.js +7 -7
- package/dist/ToFortuneSheet/FortuneBase.js +84 -28
- package/dist/ToFortuneSheet/FortuneCell.js +205 -185
- package/dist/ToFortuneSheet/FortuneFile.js +117 -111
- package/dist/ToFortuneSheet/FortuneImage.js +35 -15
- package/dist/ToFortuneSheet/FortuneSheet.js +217 -191
- package/dist/ToFortuneSheet/ReadXml.js +114 -87
- package/dist/ToolbarItem.d.ts +12 -0
- package/dist/ToolbarItem.js +67 -0
- package/dist/Transform.d.ts +2 -0
- package/dist/Transform.js +78 -0
- package/dist/common/constant.js +24 -24
- package/dist/common/emf.js +5 -5
- package/dist/common/method.js +169 -162
- package/dist/icons/ExportIcon.d.ts +3 -0
- package/dist/icons/ExportIcon.js +7 -0
- package/dist/icons/ImportIcon.d.ts +3 -0
- package/dist/icons/ImportIcon.js +7 -0
- package/dist/main.d.ts +2 -2
- package/dist/main.js +2 -24
- package/package.json +2 -2
- package/storybook-static/assets/Color-6VNJS4EI-0c01ecf9.js +1 -0
- package/storybook-static/assets/DocsRenderer-NNNQARDV-8c85b0e9.js +364 -0
- package/storybook-static/assets/Page.stories-2589ebf6.css +1 -0
- package/storybook-static/assets/Page.stories-a573643a.js +1948 -0
- package/storybook-static/assets/WithTooltip-V3YHNWJZ-a3f0d923.js +1 -0
- package/storybook-static/assets/_commonjs-dynamic-modules-302442b1.js +1 -0
- package/storybook-static/assets/_commonjsHelpers-de833af9.js +1 -0
- package/storybook-static/assets/_getPrototype-1e53b583.js +3 -0
- package/storybook-static/assets/entry-preview-b21759a2.js +1 -0
- package/storybook-static/assets/entry-preview-docs-d14f77b2.js +54 -0
- package/storybook-static/assets/formatter-SWP5E3XI-02b41ceb.js +156 -0
- package/storybook-static/assets/iframe-b3040d49.js +1 -0
- package/storybook-static/assets/index-1b441bc2.js +1 -0
- package/storybook-static/assets/index-356e4a49.js +6 -0
- package/storybook-static/assets/index-8b3efc3f.js +9 -0
- package/storybook-static/assets/index-9322cee5.js +1 -0
- package/storybook-static/assets/preview-0ef86afd.js +7 -0
- package/storybook-static/assets/preview-1970e752.js +1 -0
- package/storybook-static/assets/preview-2d30111f.js +27 -0
- package/storybook-static/assets/preview-2ff2accb.js +1 -0
- package/storybook-static/assets/preview-30b54f76.js +20 -0
- package/storybook-static/assets/preview-ba2273f4.js +1 -0
- package/storybook-static/assets/preview-c56bf6ac.js +1 -0
- package/storybook-static/assets/preview-d01b88e8.js +17 -0
- package/storybook-static/assets/preview-da31036b.js +396 -0
- package/storybook-static/assets/react-18-0a210e0b.js +24 -0
- package/storybook-static/assets/syntaxhighlighter-MJWPISIS-6799d638.js +1 -0
- package/storybook-static/favicon.svg +7 -0
- package/storybook-static/iframe.html +460 -0
- package/storybook-static/index.html +127 -0
- package/storybook-static/index.json +1 -0
- package/storybook-static/project.json +1 -0
- package/storybook-static/sb-addons/essentials-actions-2/manager-bundle.js +3 -0
- package/storybook-static/sb-addons/essentials-actions-2/manager-bundle.js.LEGAL.txt +0 -0
- package/storybook-static/sb-addons/essentials-backgrounds-3/manager-bundle.js +12 -0
- package/storybook-static/sb-addons/essentials-backgrounds-3/manager-bundle.js.LEGAL.txt +0 -0
- package/storybook-static/sb-addons/essentials-controls-1/manager-bundle.js +63 -0
- package/storybook-static/sb-addons/essentials-controls-1/manager-bundle.js.LEGAL.txt +18 -0
- package/storybook-static/sb-addons/essentials-measure-6/manager-bundle.js +3 -0
- package/storybook-static/sb-addons/essentials-measure-6/manager-bundle.js.LEGAL.txt +0 -0
- package/storybook-static/sb-addons/essentials-outline-7/manager-bundle.js +3 -0
- package/storybook-static/sb-addons/essentials-outline-7/manager-bundle.js.LEGAL.txt +0 -0
- package/storybook-static/sb-addons/essentials-toolbars-5/manager-bundle.js +3 -0
- package/storybook-static/sb-addons/essentials-toolbars-5/manager-bundle.js.LEGAL.txt +0 -0
- package/storybook-static/sb-addons/essentials-viewport-4/manager-bundle.js +3 -0
- package/storybook-static/sb-addons/essentials-viewport-4/manager-bundle.js.LEGAL.txt +0 -0
- package/storybook-static/sb-addons/interactions-8/manager-bundle.js +12 -0
- package/storybook-static/sb-addons/interactions-8/manager-bundle.js.LEGAL.txt +0 -0
- package/storybook-static/sb-addons/links-0/manager-bundle.js +3 -0
- package/storybook-static/sb-addons/links-0/manager-bundle.js.LEGAL.txt +0 -0
- package/storybook-static/sb-common-assets/fonts.css +31 -0
- package/storybook-static/sb-common-assets/nunito-sans-bold-italic.woff2 +0 -0
- package/storybook-static/sb-common-assets/nunito-sans-bold.woff2 +0 -0
- package/storybook-static/sb-common-assets/nunito-sans-italic.woff2 +0 -0
- package/storybook-static/sb-common-assets/nunito-sans-regular.woff2 +0 -0
- package/storybook-static/sb-manager/WithTooltip-V3YHNWJZ-MXTFSDU5.js +1 -0
- package/storybook-static/sb-manager/chunk-5QAFKPS7.js +7 -0
- package/storybook-static/sb-manager/chunk-7PRFHFSS.js +9 -0
- package/storybook-static/sb-manager/chunk-XE6LDGTE.js +406 -0
- package/storybook-static/sb-manager/chunk-YDUB7CS6.js +348 -0
- package/storybook-static/sb-manager/chunk-ZEU7PDD3.js +1 -0
- package/storybook-static/sb-manager/formatter-SWP5E3XI-7BGIK6BL.js +156 -0
- package/storybook-static/sb-manager/globals-module-info.js +1 -0
- package/storybook-static/sb-manager/globals.js +1 -0
- package/storybook-static/sb-manager/index.js +1 -0
- package/storybook-static/sb-manager/runtime.js +1 -0
- package/storybook-static/sb-manager/syntaxhighlighter-MJWPISIS-JOSCT6CQ.js +1 -0
- package/storybook-static/sb-preview/globals.js +1 -0
- package/storybook-static/sb-preview/runtime.js +112 -0
- package/storybook-static/stories.json +1 -0
- package/tsconfig.json +4 -3
- package/.github/workflows/main.yml +0 -30
package/dist/common/emf.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export
|
|
1
|
+
export var UDOC = {};
|
|
2
2
|
UDOC.G = {
|
|
3
3
|
concat: function (p, r) {
|
|
4
4
|
for (var i = 0; i < r.cmds.length; i++)
|
|
@@ -182,12 +182,12 @@ UDOC.G = {
|
|
|
182
182
|
};
|
|
183
183
|
var out = p0;
|
|
184
184
|
cp1 = p1[p1.length - 1];
|
|
185
|
-
for (
|
|
185
|
+
for (var j in p1) {
|
|
186
186
|
var cp2 = p1[j];
|
|
187
187
|
var inp = out;
|
|
188
188
|
out = [];
|
|
189
189
|
s = inp[inp.length - 1]; //last on the input list
|
|
190
|
-
for (
|
|
190
|
+
for (var i in inp) {
|
|
191
191
|
var e = inp[i];
|
|
192
192
|
if (inside(e)) {
|
|
193
193
|
if (!inside(s)) {
|
|
@@ -389,7 +389,7 @@ UDOC.getFont = function () {
|
|
|
389
389
|
Trm: [1, 0, 0, 1, 0, 0],
|
|
390
390
|
};
|
|
391
391
|
};
|
|
392
|
-
export
|
|
392
|
+
export var FromEMF = function () { };
|
|
393
393
|
FromEMF.Parse = function (buff, genv) {
|
|
394
394
|
buff = new Uint8Array(buff);
|
|
395
395
|
var off = 0;
|
|
@@ -1116,7 +1116,7 @@ FromEMF.K = [];
|
|
|
1116
1116
|
// inp = FromEMF.C; out = FromEMF.K; stt=4;
|
|
1117
1117
|
// for(var p in inp) out[inp[p]] = p.slice(stt);
|
|
1118
1118
|
// } )();
|
|
1119
|
-
export
|
|
1119
|
+
export var ToContext2D = function (needPage, scale) {
|
|
1120
1120
|
this.canvas = document.createElement("canvas");
|
|
1121
1121
|
this.ctx = this.canvas.getContext("2d");
|
|
1122
1122
|
this.bb = null;
|
package/dist/common/method.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { columeHeader_word, columeHeader_word_index } from "./constant.js";
|
|
2
2
|
export function getRangetxt(range, sheettxt) {
|
|
3
|
-
|
|
4
|
-
|
|
3
|
+
var row0 = range["row"][0], row1 = range["row"][1];
|
|
4
|
+
var column0 = range["column"][0], column1 = range["column"][1];
|
|
5
5
|
if (row0 == null && row1 == null) {
|
|
6
6
|
return sheettxt + chatatABC(column0) + ":" + chatatABC(column1);
|
|
7
7
|
}
|
|
@@ -22,13 +22,15 @@ export function getRangetxt(range, sheettxt) {
|
|
|
22
22
|
}
|
|
23
23
|
}
|
|
24
24
|
}
|
|
25
|
-
export function getcellrange(txt, sheets
|
|
26
|
-
|
|
27
|
-
|
|
25
|
+
export function getcellrange(txt, sheets, sheetId) {
|
|
26
|
+
if (sheets === void 0) { sheets = {}; }
|
|
27
|
+
if (sheetId === void 0) { sheetId = "1"; }
|
|
28
|
+
var val = txt.split("!");
|
|
29
|
+
var sheettxt = "", rangetxt = "", sheetIndex = -1;
|
|
28
30
|
if (val.length > 1) {
|
|
29
31
|
sheettxt = val[0];
|
|
30
32
|
rangetxt = val[1];
|
|
31
|
-
|
|
33
|
+
var si = sheets[sheettxt];
|
|
32
34
|
if (si == null) {
|
|
33
35
|
sheetIndex = parseInt(sheetId);
|
|
34
36
|
}
|
|
@@ -41,8 +43,8 @@ export function getcellrange(txt, sheets = {}, sheetId = "1") {
|
|
|
41
43
|
rangetxt = val[0];
|
|
42
44
|
}
|
|
43
45
|
if (rangetxt.indexOf(":") == -1) {
|
|
44
|
-
|
|
45
|
-
|
|
46
|
+
var row = parseInt(rangetxt.replace(/[^0-9]/g, "")) - 1;
|
|
47
|
+
var col = ABCatNum(rangetxt.replace(/[^A-Za-z]/g, ""));
|
|
46
48
|
if (!isNaN(row) && !isNaN(col)) {
|
|
47
49
|
return {
|
|
48
50
|
row: [row, row],
|
|
@@ -55,8 +57,8 @@ export function getcellrange(txt, sheets = {}, sheetId = "1") {
|
|
|
55
57
|
}
|
|
56
58
|
}
|
|
57
59
|
else {
|
|
58
|
-
|
|
59
|
-
|
|
60
|
+
var rangetxtArray = rangetxt.split(":");
|
|
61
|
+
var row = [], col = [];
|
|
60
62
|
row[0] = parseInt(rangetxtArray[0].replace(/[^0-9]/g, "")) - 1;
|
|
61
63
|
row[1] = parseInt(rangetxtArray[1].replace(/[^0-9]/g, "")) - 1;
|
|
62
64
|
// if (isNaN(row[0])) {
|
|
@@ -89,14 +91,14 @@ export function getcellrange(txt, sheets = {}, sheetId = "1") {
|
|
|
89
91
|
//列下标 字母转数字
|
|
90
92
|
function ABCatNum(abc) {
|
|
91
93
|
abc = abc.toUpperCase();
|
|
92
|
-
|
|
94
|
+
var abc_len = abc.length;
|
|
93
95
|
if (abc_len == 0) {
|
|
94
96
|
return NaN;
|
|
95
97
|
}
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
for (
|
|
98
|
+
var abc_array = abc.split("");
|
|
99
|
+
var wordlen = columeHeader_word.length;
|
|
100
|
+
var ret = 0;
|
|
101
|
+
for (var i = abc_len - 1; i >= 0; i--) {
|
|
100
102
|
if (i == abc_len - 1) {
|
|
101
103
|
ret += columeHeader_word_index[abc_array[i]];
|
|
102
104
|
}
|
|
@@ -110,20 +112,20 @@ function ABCatNum(abc) {
|
|
|
110
112
|
}
|
|
111
113
|
//列下标 数字转字母
|
|
112
114
|
function chatatABC(index) {
|
|
113
|
-
|
|
115
|
+
var wordlen = columeHeader_word.length;
|
|
114
116
|
if (index < wordlen) {
|
|
115
117
|
return columeHeader_word[index];
|
|
116
118
|
}
|
|
117
119
|
else {
|
|
118
|
-
|
|
119
|
-
|
|
120
|
+
var last = 0, pre = 0, ret = "";
|
|
121
|
+
var i = 1, n = 0;
|
|
120
122
|
while (index >= (wordlen / (wordlen - 1)) * (Math.pow(wordlen, i++) - 1)) {
|
|
121
123
|
n = i;
|
|
122
124
|
}
|
|
123
|
-
|
|
125
|
+
var index_ab = index - (wordlen / (wordlen - 1)) * (Math.pow(wordlen, n - 1) - 1); //970
|
|
124
126
|
last = index_ab + 1;
|
|
125
|
-
for (
|
|
126
|
-
|
|
127
|
+
for (var x = n; x > 0; x--) {
|
|
128
|
+
var last1 = last, x1 = x; //-702=268, 3
|
|
127
129
|
if (x == 1) {
|
|
128
130
|
last1 = last1 % wordlen;
|
|
129
131
|
if (last1 == 0) {
|
|
@@ -154,9 +156,9 @@ export function getPxByEMUs(emus) {
|
|
|
154
156
|
if (emus == null) {
|
|
155
157
|
return 0;
|
|
156
158
|
}
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
159
|
+
var inch = emus / 914400;
|
|
160
|
+
var pt = inch * 72;
|
|
161
|
+
var px = pt / getptToPxRatioByDPI();
|
|
160
162
|
return px;
|
|
161
163
|
}
|
|
162
164
|
/**
|
|
@@ -166,7 +168,7 @@ export function getPxByEMUs(emus) {
|
|
|
166
168
|
* @return attribute value
|
|
167
169
|
*/
|
|
168
170
|
export function getXmlAttibute(dom, attr, d) {
|
|
169
|
-
|
|
171
|
+
var value = dom[attr];
|
|
170
172
|
value = value == null ? d : value;
|
|
171
173
|
return value;
|
|
172
174
|
}
|
|
@@ -175,7 +177,7 @@ export function getXmlAttibute(dom, attr, d) {
|
|
|
175
177
|
* @return pixel column width
|
|
176
178
|
*/
|
|
177
179
|
export function getColumnWidthPixel(columnWidth) {
|
|
178
|
-
|
|
180
|
+
var pix = Math.round((columnWidth - 0.83) * 8 + 5);
|
|
179
181
|
return pix;
|
|
180
182
|
}
|
|
181
183
|
/**
|
|
@@ -183,13 +185,13 @@ export function getColumnWidthPixel(columnWidth) {
|
|
|
183
185
|
* @return pixel row height
|
|
184
186
|
*/
|
|
185
187
|
export function getRowHeightPixel(rowHeight) {
|
|
186
|
-
|
|
188
|
+
var pix = Math.round(rowHeight / getptToPxRatioByDPI());
|
|
187
189
|
return pix;
|
|
188
190
|
}
|
|
189
191
|
export function LightenDarkenColor(sixColor, tint) {
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
192
|
+
var hex = sixColor.substring(sixColor.length - 6, sixColor.length);
|
|
193
|
+
var rgbArray = hexToRgbArray("#" + hex);
|
|
194
|
+
var hslArray = rgbToHsl(rgbArray[0], rgbArray[1], rgbArray[2]);
|
|
193
195
|
if (tint > 0) {
|
|
194
196
|
hslArray[2] = hslArray[2] * (1.0 - tint) + tint;
|
|
195
197
|
}
|
|
@@ -199,7 +201,7 @@ export function LightenDarkenColor(sixColor, tint) {
|
|
|
199
201
|
else {
|
|
200
202
|
return "#" + hex;
|
|
201
203
|
}
|
|
202
|
-
|
|
204
|
+
var newRgbArray = hslToRgb(hslArray[0], hslArray[1], hslArray[2]);
|
|
203
205
|
return rgbToHex("RGB(" + newRgbArray.join(",") + ")");
|
|
204
206
|
}
|
|
205
207
|
function rgbToHex(rgb) {
|
|
@@ -358,14 +360,14 @@ export function generateRandomIndex(prefix) {
|
|
|
358
360
|
if (prefix == null) {
|
|
359
361
|
prefix = "Sheet";
|
|
360
362
|
}
|
|
361
|
-
|
|
363
|
+
var userAgent = window.navigator.userAgent
|
|
362
364
|
.replace(/[^a-zA-Z0-9]/g, "")
|
|
363
365
|
.split("");
|
|
364
|
-
|
|
365
|
-
for (
|
|
366
|
+
var mid = "";
|
|
367
|
+
for (var i = 0; i < 5; i++) {
|
|
366
368
|
mid += userAgent[Math.round(Math.random() * (userAgent.length - 1))];
|
|
367
369
|
}
|
|
368
|
-
|
|
370
|
+
var time = new Date().getTime();
|
|
369
371
|
return prefix + "_" + mid + "_" + time;
|
|
370
372
|
}
|
|
371
373
|
export function escapeCharacter(str) {
|
|
@@ -475,19 +477,21 @@ export function escapeCharacter(str) {
|
|
|
475
477
|
.replace(/þ/g, "þ")
|
|
476
478
|
.replace(/ÿ/g, "ÿ");
|
|
477
479
|
}
|
|
478
|
-
|
|
479
|
-
|
|
480
|
+
var fromulaRef = /** @class */ (function () {
|
|
481
|
+
function fromulaRef() {
|
|
482
|
+
}
|
|
483
|
+
fromulaRef.trim = function (str) {
|
|
480
484
|
if (str == null) {
|
|
481
485
|
str = "";
|
|
482
486
|
}
|
|
483
487
|
return str.replace(/(^\s*)|(\s*$)/g, "");
|
|
484
|
-
}
|
|
485
|
-
|
|
486
|
-
|
|
488
|
+
};
|
|
489
|
+
fromulaRef.functionCopy = function (txt, mode, step) {
|
|
490
|
+
var _this = this;
|
|
487
491
|
if (_this.operatorjson == null) {
|
|
488
|
-
|
|
489
|
-
for (
|
|
490
|
-
op[arr[
|
|
492
|
+
var arr = _this.operator.split("|"), op = {};
|
|
493
|
+
for (var i_1 = 0; i_1 < arr.length; i_1++) {
|
|
494
|
+
op[arr[i_1].toString()] = 1;
|
|
491
495
|
}
|
|
492
496
|
_this.operatorjson = op;
|
|
493
497
|
}
|
|
@@ -500,16 +504,16 @@ export class fromulaRef {
|
|
|
500
504
|
if (txt.substr(0, 1) == "=") {
|
|
501
505
|
txt = txt.substr(1);
|
|
502
506
|
}
|
|
503
|
-
|
|
504
|
-
|
|
505
|
-
|
|
507
|
+
var funcstack = txt.split("");
|
|
508
|
+
var i = 0, str = "", function_str = "", ispassby = true;
|
|
509
|
+
var matchConfig = {
|
|
506
510
|
bracket: 0,
|
|
507
511
|
comma: 0,
|
|
508
512
|
squote: 0,
|
|
509
513
|
dquote: 0,
|
|
510
514
|
};
|
|
511
515
|
while (i < funcstack.length) {
|
|
512
|
-
|
|
516
|
+
var s = funcstack[i];
|
|
513
517
|
if (s == "(" && matchConfig.dquote == 0) {
|
|
514
518
|
matchConfig.bracket += 1;
|
|
515
519
|
if (str.length > 0) {
|
|
@@ -550,11 +554,11 @@ export class fromulaRef {
|
|
|
550
554
|
}
|
|
551
555
|
}
|
|
552
556
|
else if (s in _this.operatorjson && matchConfig.dquote == 0) {
|
|
553
|
-
|
|
557
|
+
var s_next = "";
|
|
554
558
|
if (i + 1 < funcstack.length) {
|
|
555
559
|
s_next = funcstack[i + 1];
|
|
556
560
|
}
|
|
557
|
-
|
|
561
|
+
var p = i - 1, s_pre = null;
|
|
558
562
|
if (p >= 0) {
|
|
559
563
|
do {
|
|
560
564
|
s_pre = funcstack[p--];
|
|
@@ -614,22 +618,22 @@ export class fromulaRef {
|
|
|
614
618
|
i++;
|
|
615
619
|
}
|
|
616
620
|
return function_str;
|
|
617
|
-
}
|
|
618
|
-
|
|
621
|
+
};
|
|
622
|
+
fromulaRef.downparam = function (txt, step) {
|
|
619
623
|
return this.updateparam("d", txt, step);
|
|
620
|
-
}
|
|
621
|
-
|
|
624
|
+
};
|
|
625
|
+
fromulaRef.upparam = function (txt, step) {
|
|
622
626
|
return this.updateparam("u", txt, step);
|
|
623
|
-
}
|
|
624
|
-
|
|
627
|
+
};
|
|
628
|
+
fromulaRef.leftparam = function (txt, step) {
|
|
625
629
|
return this.updateparam("l", txt, step);
|
|
626
|
-
}
|
|
627
|
-
|
|
630
|
+
};
|
|
631
|
+
fromulaRef.rightparam = function (txt, step) {
|
|
628
632
|
return this.updateparam("r", txt, step);
|
|
629
|
-
}
|
|
630
|
-
|
|
631
|
-
|
|
632
|
-
|
|
633
|
+
};
|
|
634
|
+
fromulaRef.updateparam = function (orient, txt, step) {
|
|
635
|
+
var _this = this;
|
|
636
|
+
var val = txt.split("!"), rangetxt, prefix = "";
|
|
633
637
|
if (val.length > 1) {
|
|
634
638
|
rangetxt = val[1];
|
|
635
639
|
prefix = val[0] + "!";
|
|
@@ -638,10 +642,10 @@ export class fromulaRef {
|
|
|
638
642
|
rangetxt = val[0];
|
|
639
643
|
}
|
|
640
644
|
if (rangetxt.indexOf(":") == -1) {
|
|
641
|
-
|
|
642
|
-
|
|
643
|
-
|
|
644
|
-
|
|
645
|
+
var row = parseInt(rangetxt.replace(/[^0-9]/g, ""));
|
|
646
|
+
var col = ABCatNum(rangetxt.replace(/[^A-Za-z]/g, ""));
|
|
647
|
+
var freezonFuc = _this.isfreezonFuc(rangetxt);
|
|
648
|
+
var $row = freezonFuc[0] ? "$" : "", $col = freezonFuc[1] ? "$" : "";
|
|
645
649
|
if (orient == "u" && !freezonFuc[0]) {
|
|
646
650
|
row -= step;
|
|
647
651
|
}
|
|
@@ -672,7 +676,7 @@ export class fromulaRef {
|
|
|
672
676
|
}
|
|
673
677
|
else {
|
|
674
678
|
rangetxt = rangetxt.split(":");
|
|
675
|
-
|
|
679
|
+
var row = [], col = [];
|
|
676
680
|
row[0] = parseInt(rangetxt[0].replace(/[^0-9]/g, ""));
|
|
677
681
|
row[1] = parseInt(rangetxt[1].replace(/[^0-9]/g, ""));
|
|
678
682
|
if (row[0] > row[1]) {
|
|
@@ -683,10 +687,10 @@ export class fromulaRef {
|
|
|
683
687
|
if (col[0] > col[1]) {
|
|
684
688
|
return txt;
|
|
685
689
|
}
|
|
686
|
-
|
|
687
|
-
|
|
688
|
-
|
|
689
|
-
|
|
690
|
+
var freezonFuc0 = _this.isfreezonFuc(rangetxt[0]);
|
|
691
|
+
var freezonFuc1 = _this.isfreezonFuc(rangetxt[1]);
|
|
692
|
+
var $row0 = freezonFuc0[0] ? "$" : "", $col0 = freezonFuc0[1] ? "$" : "";
|
|
693
|
+
var $row1 = freezonFuc1[0] ? "$" : "", $col1 = freezonFuc1[1] ? "$" : "";
|
|
690
694
|
if (orient == "u") {
|
|
691
695
|
if (!freezonFuc0[0]) {
|
|
692
696
|
row[0] -= step;
|
|
@@ -741,21 +745,21 @@ export class fromulaRef {
|
|
|
741
745
|
row[1]);
|
|
742
746
|
}
|
|
743
747
|
}
|
|
744
|
-
}
|
|
745
|
-
|
|
748
|
+
};
|
|
749
|
+
fromulaRef.iscelldata = function (txt) {
|
|
746
750
|
//判断是否为单元格格式
|
|
747
|
-
|
|
751
|
+
var val = txt.split("!"), rangetxt;
|
|
748
752
|
if (val.length > 1) {
|
|
749
753
|
rangetxt = val[1];
|
|
750
754
|
}
|
|
751
755
|
else {
|
|
752
756
|
rangetxt = val[0];
|
|
753
757
|
}
|
|
754
|
-
|
|
755
|
-
|
|
758
|
+
var reg_cell = /^(([a-zA-Z]+)|([$][a-zA-Z]+))(([0-9]+)|([$][0-9]+))$/g; //增加正则判断单元格为字母+数字的格式:如 A1:B3
|
|
759
|
+
var reg_cellRange = /^(((([a-zA-Z]+)|([$][a-zA-Z]+))(([0-9]+)|([$][0-9]+)))|((([a-zA-Z]+)|([$][a-zA-Z]+))))$/g; //增加正则判断单元格为字母+数字或字母的格式:如 A1:B3,A:A
|
|
756
760
|
if (rangetxt.indexOf(":") == -1) {
|
|
757
|
-
|
|
758
|
-
|
|
761
|
+
var row = parseInt(rangetxt.replace(/[^0-9]/g, "")) - 1;
|
|
762
|
+
var col = ABCatNum(rangetxt.replace(/[^A-Za-z]/g, ""));
|
|
759
763
|
if (!isNaN(row) && !isNaN(col) && rangetxt.toString().match(reg_cell)) {
|
|
760
764
|
return true;
|
|
761
765
|
}
|
|
@@ -773,7 +777,7 @@ export class fromulaRef {
|
|
|
773
777
|
reg_cellRange =
|
|
774
778
|
/^(((([a-zA-Z]+)|([$][a-zA-Z]+))(([0-9]+)|([$][0-9]+)))|((([a-zA-Z]+)|([$][a-zA-Z]+)))|((([0-9]+)|([$][0-9]+s))))$/g;
|
|
775
779
|
rangetxt = rangetxt.split(":");
|
|
776
|
-
|
|
780
|
+
var row = [], col = [];
|
|
777
781
|
row[0] = parseInt(rangetxt[0].replace(/[^0-9]/g, "")) - 1;
|
|
778
782
|
row[1] = parseInt(rangetxt[1].replace(/[^0-9]/g, "")) - 1;
|
|
779
783
|
if (row[0] > row[1]) {
|
|
@@ -792,13 +796,13 @@ export class fromulaRef {
|
|
|
792
796
|
return false;
|
|
793
797
|
}
|
|
794
798
|
}
|
|
795
|
-
}
|
|
796
|
-
|
|
797
|
-
|
|
798
|
-
|
|
799
|
-
|
|
800
|
-
|
|
801
|
-
|
|
799
|
+
};
|
|
800
|
+
fromulaRef.isfreezonFuc = function (txt) {
|
|
801
|
+
var row = txt.replace(/[^0-9]/g, "");
|
|
802
|
+
var col = txt.replace(/[^A-Za-z]/g, "");
|
|
803
|
+
var row$ = txt.substr(txt.indexOf(row) - 1, 1);
|
|
804
|
+
var col$ = txt.substr(txt.indexOf(col) - 1, 1);
|
|
805
|
+
var ret = [false, false];
|
|
802
806
|
if (row$ == "$") {
|
|
803
807
|
ret[0] = true;
|
|
804
808
|
}
|
|
@@ -806,20 +810,22 @@ export class fromulaRef {
|
|
|
806
810
|
ret[1] = true;
|
|
807
811
|
}
|
|
808
812
|
return ret;
|
|
809
|
-
}
|
|
810
|
-
|
|
811
|
-
fromulaRef.
|
|
812
|
-
|
|
813
|
-
|
|
814
|
-
|
|
815
|
-
|
|
816
|
-
|
|
817
|
-
|
|
818
|
-
|
|
819
|
-
|
|
820
|
-
|
|
821
|
-
|
|
822
|
-
fromulaRef
|
|
813
|
+
};
|
|
814
|
+
fromulaRef.operator = "==|!=|<>|<=|>=|=|+|-|>|<|/|*|%|&|^";
|
|
815
|
+
fromulaRef.error = {
|
|
816
|
+
v: "#VALUE!", //错误的参数或运算符
|
|
817
|
+
n: "#NAME?", //公式名称错误
|
|
818
|
+
na: "#N/A", //函数或公式中没有可用数值
|
|
819
|
+
r: "#REF!", //删除了由其他公式引用的单元格
|
|
820
|
+
d: "#DIV/0!", //除数是0或空单元格
|
|
821
|
+
nm: "#NUM!", //当公式或函数中某个数字有问题时
|
|
822
|
+
nl: "#NULL!", //交叉运算符(空格)使用不正确
|
|
823
|
+
sp: "#SPILL!", //数组范围有其它值
|
|
824
|
+
};
|
|
825
|
+
fromulaRef.operatorjson = null;
|
|
826
|
+
return fromulaRef;
|
|
827
|
+
}());
|
|
828
|
+
export { fromulaRef };
|
|
823
829
|
export function isChinese(temp) {
|
|
824
830
|
var re = /[^\u4e00-\u9fa5]/;
|
|
825
831
|
var reg = /[\u3002|\uff1f|\uff01|\uff0c|\u3001|\uff1b|\uff1a|\u201c|\u201d|\u2018|\u2019|\uff08|\uff09|\u300a|\u300b|\u3008|\u3009|\u3010|\u3011|\u300e|\u300f|\u300c|\u300d|\ufe43|\ufe44|\u3014|\u3015|\u2026|\u2014|\uff5e|\ufe4f|\uffe5]/;
|
|
@@ -842,16 +848,16 @@ export function isKoera(chr) {
|
|
|
842
848
|
return false;
|
|
843
849
|
}
|
|
844
850
|
export function isContainMultiType(str) {
|
|
845
|
-
|
|
851
|
+
var isUnicode = false;
|
|
846
852
|
if (escape(str).indexOf("%u") > -1) {
|
|
847
853
|
isUnicode = true;
|
|
848
854
|
}
|
|
849
|
-
|
|
850
|
-
|
|
855
|
+
var isNot = false;
|
|
856
|
+
var reg = /[0-9a-z]/gi;
|
|
851
857
|
if (reg.test(str)) {
|
|
852
858
|
isNot = true;
|
|
853
859
|
}
|
|
854
|
-
|
|
860
|
+
var reEnSign = /[\x00-\xff]+/g;
|
|
855
861
|
if (reEnSign.test(str)) {
|
|
856
862
|
isNot = true;
|
|
857
863
|
}
|
|
@@ -875,12 +881,12 @@ export function getMultiSequenceToNum(sqref) {
|
|
|
875
881
|
if (!sqref || (sqref === null || sqref === void 0 ? void 0 : sqref.length) <= 0)
|
|
876
882
|
return [];
|
|
877
883
|
sqref = sqref.toUpperCase();
|
|
878
|
-
|
|
879
|
-
|
|
880
|
-
|
|
881
|
-
|
|
882
|
-
for (
|
|
883
|
-
|
|
884
|
+
var sqrefRawArr = sqref.split(" ");
|
|
885
|
+
var sqrefArr = sqrefRawArr.filter(function (e) { return e && e.trim(); });
|
|
886
|
+
var sqrefLastArr = getSqrefRawArrFormat(sqrefArr);
|
|
887
|
+
var resArr = [];
|
|
888
|
+
for (var i = 0; i < sqrefLastArr.length; i++) {
|
|
889
|
+
var _res = getSingleSequenceToNum(sqrefLastArr[i]);
|
|
884
890
|
if (_res)
|
|
885
891
|
resArr.push(_res);
|
|
886
892
|
}
|
|
@@ -896,17 +902,17 @@ export function getMultiSequenceToNum(sqref) {
|
|
|
896
902
|
*/
|
|
897
903
|
export function getRegionSequence(arr) {
|
|
898
904
|
var _a, _b;
|
|
899
|
-
|
|
900
|
-
|
|
901
|
-
|
|
902
|
-
|
|
903
|
-
|
|
904
|
-
|
|
905
|
-
|
|
906
|
-
|
|
907
|
-
for (
|
|
908
|
-
for (
|
|
909
|
-
formatArr.push(
|
|
905
|
+
var formatArr = [];
|
|
906
|
+
var regEn = new RegExp(/[A-Z]+|[0-9]+/g);
|
|
907
|
+
var startArr = (_a = arr[0]) === null || _a === void 0 ? void 0 : _a.match(regEn);
|
|
908
|
+
var lastArr = (_b = arr[1]) === null || _b === void 0 ? void 0 : _b.match(regEn);
|
|
909
|
+
var columnMax = Math.max.apply(Math, [ABCatNum(startArr[0]), ABCatNum(lastArr[0])]);
|
|
910
|
+
var columnMin = Math.min.apply(Math, [ABCatNum(startArr[0]), ABCatNum(lastArr[0])]);
|
|
911
|
+
var rowMax = Math.max.apply(Math, [parseInt(startArr[1]), parseInt(lastArr[1])]);
|
|
912
|
+
var rowMin = Math.min.apply(Math, [parseInt(startArr[1]), parseInt(lastArr[1])]);
|
|
913
|
+
for (var i = columnMin; i <= columnMax; i++) {
|
|
914
|
+
for (var j = rowMin; j <= rowMax; j++) {
|
|
915
|
+
formatArr.push("".concat(chatatABC(i)).concat(j));
|
|
910
916
|
}
|
|
911
917
|
}
|
|
912
918
|
return formatArr;
|
|
@@ -920,16 +926,16 @@ export function getRegionSequence(arr) {
|
|
|
920
926
|
* @returns {string[]} - after arr
|
|
921
927
|
*/
|
|
922
928
|
export function getSqrefRawArrFormat(arr) {
|
|
923
|
-
arr === null || arr === void 0 ? void 0 : arr.map((el)
|
|
929
|
+
arr === null || arr === void 0 ? void 0 : arr.map(function (el) {
|
|
924
930
|
if (el.includes(":")) {
|
|
925
|
-
|
|
931
|
+
var tempArr = el.split(":");
|
|
926
932
|
if ((tempArr === null || tempArr === void 0 ? void 0 : tempArr.length) === 2) {
|
|
927
933
|
arr = arr.concat(getRegionSequence(tempArr));
|
|
928
934
|
arr.splice(arr.indexOf(el), 1);
|
|
929
935
|
}
|
|
930
936
|
}
|
|
931
937
|
});
|
|
932
|
-
|
|
938
|
+
var resultArr = arr.filter(function (value, index, array) { return array.indexOf(value) === index; });
|
|
933
939
|
return resultArr;
|
|
934
940
|
}
|
|
935
941
|
/**
|
|
@@ -942,12 +948,12 @@ export function getSqrefRawArrFormat(arr) {
|
|
|
942
948
|
* @returns {string} - after sequence
|
|
943
949
|
*/
|
|
944
950
|
export function getSingleSequenceToNum(sqref) {
|
|
945
|
-
|
|
946
|
-
|
|
947
|
-
|
|
948
|
-
|
|
949
|
-
for (
|
|
950
|
-
|
|
951
|
+
var sqrefArray = sqref.match(/[A-Z]+|[0-9]+/g);
|
|
952
|
+
var sqrefLen = sqrefArray.length;
|
|
953
|
+
var regEn = new RegExp("^[A-Z]+$");
|
|
954
|
+
var ret = "";
|
|
955
|
+
for (var i = sqrefLen - 1; i >= 0; i--) {
|
|
956
|
+
var cur = sqrefArray[i];
|
|
951
957
|
if (regEn.test(cur)) {
|
|
952
958
|
ret += ABCatNum(cur) + "_";
|
|
953
959
|
}
|
|
@@ -967,15 +973,15 @@ export function getSingleSequenceToNum(sqref) {
|
|
|
967
973
|
export function getTransR1C1ToSequence(value) {
|
|
968
974
|
if (!value && (value === null || value === void 0 ? void 0 : value.length) <= 0)
|
|
969
975
|
return "";
|
|
970
|
-
|
|
971
|
-
|
|
972
|
-
|
|
973
|
-
|
|
974
|
-
|
|
975
|
-
|
|
976
|
-
|
|
977
|
-
|
|
978
|
-
return
|
|
976
|
+
var len = value.length;
|
|
977
|
+
var index = value.lastIndexOf("!");
|
|
978
|
+
var valueArr = [value.slice(0, index), value.slice(index + 1, len)];
|
|
979
|
+
var repStr = valueArr[1] || "";
|
|
980
|
+
var indexR = repStr.indexOf("R");
|
|
981
|
+
var indexC = repStr.indexOf("C");
|
|
982
|
+
var row = Number(repStr.slice(indexR + 1, indexC));
|
|
983
|
+
var column = chatatABC(Number(repStr.slice(indexC + 1, repStr === null || repStr === void 0 ? void 0 : repStr.length)) - 1);
|
|
984
|
+
return "".concat(valueArr[0], "!").concat(column).concat(row);
|
|
979
985
|
}
|
|
980
986
|
/**
|
|
981
987
|
* strip x14 format data
|
|
@@ -988,25 +994,25 @@ export function getPeelOffX14(value) {
|
|
|
988
994
|
if (!value || (value === null || value === void 0 ? void 0 : value.length) <= 0)
|
|
989
995
|
return {};
|
|
990
996
|
// formula
|
|
991
|
-
|
|
992
|
-
|
|
993
|
-
|
|
994
|
-
|
|
995
|
-
|
|
997
|
+
var formulaReg = new RegExp("</x14:formula[^]>", "g");
|
|
998
|
+
var lastIndex = (_a = value.match(formulaReg)) === null || _a === void 0 ? void 0 : _a.length;
|
|
999
|
+
var lastValue = "</x14:formula".concat(lastIndex, ">");
|
|
1000
|
+
var lastValueEnd = value.indexOf(lastValue);
|
|
1001
|
+
var formulaValue = value.substring(0, lastValueEnd + lastValue.length);
|
|
996
1002
|
formulaValue = formulaValue
|
|
997
1003
|
.replace(/<xm:f>/g, "")
|
|
998
1004
|
.replace(/<\/xm:f>/g, "")
|
|
999
1005
|
.replace(/x14:/g, "")
|
|
1000
1006
|
.replace(/\/x14:/g, "");
|
|
1001
|
-
|
|
1007
|
+
var formula = formulaValue;
|
|
1002
1008
|
// sqref
|
|
1003
|
-
|
|
1004
|
-
|
|
1005
|
-
|
|
1006
|
-
|
|
1009
|
+
var xmSqrefLen = "<xm:sqref>".length;
|
|
1010
|
+
var sqrefStart = value.indexOf("<xm:sqref>");
|
|
1011
|
+
var sqrefEnd = value.indexOf("</xm:sqref>");
|
|
1012
|
+
var sqref = value.substring(sqrefStart + xmSqrefLen, sqrefEnd);
|
|
1007
1013
|
return {
|
|
1008
|
-
formula,
|
|
1009
|
-
sqref,
|
|
1014
|
+
formula: formula,
|
|
1015
|
+
sqref: sqref,
|
|
1010
1016
|
};
|
|
1011
1017
|
}
|
|
1012
1018
|
/**
|
|
@@ -1019,22 +1025,23 @@ export function getMultiFormulaValue(value) {
|
|
|
1019
1025
|
var _a, _b;
|
|
1020
1026
|
if (!value || (value === null || value === void 0 ? void 0 : value.length) <= 0)
|
|
1021
1027
|
return [];
|
|
1022
|
-
|
|
1023
|
-
|
|
1028
|
+
var lenReg = new RegExp("formula", "g");
|
|
1029
|
+
var len = (((_a = value.match(lenReg)) === null || _a === void 0 ? void 0 : _a.length) || 0) / 2;
|
|
1024
1030
|
if (len === 0)
|
|
1025
1031
|
return [];
|
|
1026
|
-
|
|
1027
|
-
for (
|
|
1028
|
-
|
|
1029
|
-
|
|
1030
|
-
|
|
1031
|
-
|
|
1032
|
+
var retArr = [];
|
|
1033
|
+
for (var i = 1; i <= len; i++) {
|
|
1034
|
+
var startLen = (_b = "<formula".concat(i, ">")) === null || _b === void 0 ? void 0 : _b.length;
|
|
1035
|
+
var start = value.indexOf("<formula".concat(i, ">"));
|
|
1036
|
+
var end = value.indexOf("</formula".concat(i, ">"));
|
|
1037
|
+
var _value = value.substring(start + startLen, end);
|
|
1032
1038
|
retArr.push(escapeCharacter(_value.replace(/"|^\"|\"$/g, "")));
|
|
1033
1039
|
}
|
|
1034
1040
|
return retArr;
|
|
1035
1041
|
}
|
|
1036
|
-
export var setMerge = function (luckyMerge
|
|
1037
|
-
|
|
1042
|
+
export var setMerge = function (luckyMerge, worksheet) {
|
|
1043
|
+
if (luckyMerge === void 0) { luckyMerge = {}; }
|
|
1044
|
+
var mergearr = Object.values(luckyMerge);
|
|
1038
1045
|
mergearr.forEach(function (elem) {
|
|
1039
1046
|
// elem格式:{r: 0, c: 0, rs: 1, cs: 2}
|
|
1040
1047
|
// 按开始行,开始列,结束行,结束列合并(相当于 K10:M12)
|
|
@@ -1043,8 +1050,8 @@ export var setMerge = function (luckyMerge = {}, worksheet) {
|
|
|
1043
1050
|
};
|
|
1044
1051
|
//获取数据类型
|
|
1045
1052
|
export var getObjType = function (obj) {
|
|
1046
|
-
|
|
1047
|
-
|
|
1053
|
+
var toString = Object.prototype.toString;
|
|
1054
|
+
var map = {
|
|
1048
1055
|
"[object Boolean]": "boolean",
|
|
1049
1056
|
"[object Number]": "number",
|
|
1050
1057
|
"[object String]": "string",
|