@fileverse-dev/dsheet 2.0.27 → 2.0.29
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/editor/components/editor-workbook.d.ts +1 -0
- package/dist/editor/dsheet-editor.d.ts +1 -1
- package/dist/editor/hooks/use-apply-templates.d.ts +2 -1
- package/dist/editor/hooks/use-xlsx-import-impl.d.ts +16 -0
- package/dist/editor/hooks/use-xlsx-import.d.ts +13 -7
- package/dist/editor/types.d.ts +2 -0
- package/dist/editor/utils/xlsx-export-impl.d.ts +4 -0
- package/dist/editor/utils/xlsx-export.d.ts +4 -0
- package/dist/{executeStringFunction-C2k81eQQ.js → executeStringFunction-BuxBjU-d.js} +1517 -1447
- package/dist/formula.js +1 -1
- package/dist/index-DgywrBAx.js +39912 -0
- package/dist/index.d.ts +1 -1
- package/dist/index.es.js +43 -44464
- package/dist/sheet-engine/core/animate.d.ts +1 -0
- package/dist/sheet-engine/core/api/cell.d.ts +1 -1
- package/dist/sheet-engine/core/events/mouse.d.ts +1 -1
- package/dist/sheet-engine/core/index.d.ts +1 -1
- package/dist/sheet-engine/core/modules/formula.d.ts +4 -4
- package/dist/sheet-engine/core/modules/index.d.ts +1 -1
- package/dist/sheet-engine/core/modules/inline-string.d.ts +6 -6
- package/dist/sheet-engine/core/modules/rowcol.d.ts +3 -3
- package/dist/sheet-engine/core/modules/selection.d.ts +9 -7
- package/dist/sheet-engine/core/paste/paste-internals.d.ts +2 -2
- package/dist/sheet-engine/core/settings.d.ts +2 -0
- package/dist/sheet-engine/core/types.d.ts +2 -2
- package/dist/sheet-engine/react/hooks/useFormulaEditorHistory.d.ts +1 -1
- package/dist/template-data-list-oP1s0Uxn.js +502875 -0
- package/dist/use-xlsx-import-impl-CNAjs0Mq.js +1527 -0
- package/dist/xlsx-export-impl-B_v1nNSW.js +3128 -0
- package/dist/xlsx-hyperlink-inline-DzewAypN.js +71 -0
- package/dist/xlsx-image-utils-Cvg0qxRA.js +126 -0
- package/package.json +1 -1
|
@@ -0,0 +1,1527 @@
|
|
|
1
|
+
import { g as Ue } from "./executeStringFunction-BuxBjU-d.js";
|
|
2
|
+
import * as qe from "yjs";
|
|
3
|
+
import { m as Xe, y as Ze } from "./index-DgywrBAx.js";
|
|
4
|
+
import { n as Je } from "./xlsx-hyperlink-inline-DzewAypN.js";
|
|
5
|
+
import { toast as Be } from "@fileverse/ui";
|
|
6
|
+
var We = { exports: {} };
|
|
7
|
+
(function(_) {
|
|
8
|
+
var u = {}, d = function(w) {
|
|
9
|
+
w.version = "0.11.2";
|
|
10
|
+
function C(r) {
|
|
11
|
+
for (var t = "", e = r.length - 1; e >= 0; ) t += r.charAt(e--);
|
|
12
|
+
return t;
|
|
13
|
+
}
|
|
14
|
+
function $(r, t) {
|
|
15
|
+
for (var e = ""; e.length < t; ) e += r;
|
|
16
|
+
return e;
|
|
17
|
+
}
|
|
18
|
+
function T(r, t) {
|
|
19
|
+
var e = "" + r;
|
|
20
|
+
return e.length >= t ? e : $("0", t - e.length) + e;
|
|
21
|
+
}
|
|
22
|
+
function V(r, t) {
|
|
23
|
+
var e = "" + r;
|
|
24
|
+
return e.length >= t ? e : $(" ", t - e.length) + e;
|
|
25
|
+
}
|
|
26
|
+
function B(r, t) {
|
|
27
|
+
var e = "" + r;
|
|
28
|
+
return e.length >= t ? e : e + $(" ", t - e.length);
|
|
29
|
+
}
|
|
30
|
+
function q(r, t) {
|
|
31
|
+
var e = "" + Math.round(r);
|
|
32
|
+
return e.length >= t ? e : $("0", t - e.length) + e;
|
|
33
|
+
}
|
|
34
|
+
function oe(r, t) {
|
|
35
|
+
var e = "" + r;
|
|
36
|
+
return e.length >= t ? e : $("0", t - e.length) + e;
|
|
37
|
+
}
|
|
38
|
+
var fe = Math.pow(2, 32);
|
|
39
|
+
function ie(r, t) {
|
|
40
|
+
if (r > fe || r < -fe) return q(r, t);
|
|
41
|
+
var e = Math.round(r);
|
|
42
|
+
return oe(e, t);
|
|
43
|
+
}
|
|
44
|
+
function se(r, t) {
|
|
45
|
+
return t = t || 0, r.length >= 7 + t && (r.charCodeAt(t) | 32) === 103 && (r.charCodeAt(t + 1) | 32) === 101 && (r.charCodeAt(t + 2) | 32) === 110 && (r.charCodeAt(t + 3) | 32) === 101 && (r.charCodeAt(t + 4) | 32) === 114 && (r.charCodeAt(t + 5) | 32) === 97 && (r.charCodeAt(t + 6) | 32) === 108;
|
|
46
|
+
}
|
|
47
|
+
var ve = [
|
|
48
|
+
["Sun", "Sunday"],
|
|
49
|
+
["Mon", "Monday"],
|
|
50
|
+
["Tue", "Tuesday"],
|
|
51
|
+
["Wed", "Wednesday"],
|
|
52
|
+
["Thu", "Thursday"],
|
|
53
|
+
["Fri", "Friday"],
|
|
54
|
+
["Sat", "Saturday"]
|
|
55
|
+
], we = [
|
|
56
|
+
["J", "Jan", "January"],
|
|
57
|
+
["F", "Feb", "February"],
|
|
58
|
+
["M", "Mar", "March"],
|
|
59
|
+
["A", "Apr", "April"],
|
|
60
|
+
["M", "May", "May"],
|
|
61
|
+
["J", "Jun", "June"],
|
|
62
|
+
["J", "Jul", "July"],
|
|
63
|
+
["A", "Aug", "August"],
|
|
64
|
+
["S", "Sep", "September"],
|
|
65
|
+
["O", "Oct", "October"],
|
|
66
|
+
["N", "Nov", "November"],
|
|
67
|
+
["D", "Dec", "December"]
|
|
68
|
+
];
|
|
69
|
+
function Oe(r) {
|
|
70
|
+
r[0] = "General", r[1] = "0", r[2] = "0.00", r[3] = "#,##0", r[4] = "#,##0.00", r[9] = "0%", r[10] = "0.00%", r[11] = "0.00E+00", r[12] = "# ?/?", r[13] = "# ??/??", r[14] = "m/d/yy", r[15] = "d-mmm-yy", r[16] = "d-mmm", r[17] = "mmm-yy", r[18] = "h:mm AM/PM", r[19] = "h:mm:ss AM/PM", r[20] = "h:mm", r[21] = "h:mm:ss", r[22] = "m/d/yy h:mm", r[37] = "#,##0 ;(#,##0)", r[38] = "#,##0 ;[Red](#,##0)", r[39] = "#,##0.00;(#,##0.00)", r[40] = "#,##0.00;[Red](#,##0.00)", r[45] = "mm:ss", r[46] = "[h]:mm:ss", r[47] = "mmss.0", r[48] = "##0.0E+0", r[49] = "@", r[56] = '"上午/下午 "hh"時"mm"分"ss"秒 "';
|
|
71
|
+
}
|
|
72
|
+
var te = {};
|
|
73
|
+
Oe(te);
|
|
74
|
+
var G = [], M = 0;
|
|
75
|
+
for (M = 5; M <= 8; ++M) G[M] = 32 + M;
|
|
76
|
+
for (M = 23; M <= 26; ++M) G[M] = 0;
|
|
77
|
+
for (M = 27; M <= 31; ++M) G[M] = 14;
|
|
78
|
+
for (M = 50; M <= 58; ++M) G[M] = 14;
|
|
79
|
+
for (M = 59; M <= 62; ++M) G[M] = M - 58;
|
|
80
|
+
for (M = 67; M <= 68; ++M) G[M] = M - 58;
|
|
81
|
+
for (M = 72; M <= 75; ++M) G[M] = M - 58;
|
|
82
|
+
for (M = 67; M <= 68; ++M) G[M] = M - 57;
|
|
83
|
+
for (M = 76; M <= 78; ++M) G[M] = M - 56;
|
|
84
|
+
for (M = 79; M <= 81; ++M) G[M] = M - 34;
|
|
85
|
+
var I = [];
|
|
86
|
+
I[5] = I[63] = '"$"#,##0_);\\("$"#,##0\\)', I[6] = I[64] = '"$"#,##0_);[Red]\\("$"#,##0\\)', I[7] = I[65] = '"$"#,##0.00_);\\("$"#,##0.00\\)', I[8] = I[66] = '"$"#,##0.00_);[Red]\\("$"#,##0.00\\)', I[41] = '_(* #,##0_);_(* \\(#,##0\\);_(* "-"_);_(@_)', I[42] = '_("$"* #,##0_);_("$"* \\(#,##0\\);_("$"* "-"_);_(@_)', I[43] = '_(* #,##0.00_);_(* \\(#,##0.00\\);_(* "-"??_);_(@_)', I[44] = '_("$"* #,##0.00_);_("$"* \\(#,##0.00\\);_("$"* "-"??_);_(@_)';
|
|
87
|
+
function ke(r, t, e) {
|
|
88
|
+
for (var b = r < 0 ? -1 : 1, n = r * b, p = 0, a = 1, l = 0, y = 1, h = 0, m = 0, A = Math.floor(n); h < t && (A = Math.floor(n), l = A * a + p, m = A * h + y, !(n - A < 5e-8)); )
|
|
89
|
+
n = 1 / (n - A), p = a, a = l, y = h, h = m;
|
|
90
|
+
if (m > t && (h > t ? (m = y, l = p) : (m = h, l = a)), !e) return [0, b * l, m];
|
|
91
|
+
var R = Math.floor(b * l / m);
|
|
92
|
+
return [R, b * l - R * m, m];
|
|
93
|
+
}
|
|
94
|
+
function pe(r, t, e) {
|
|
95
|
+
if (r > 2958465 || r < 0) return null;
|
|
96
|
+
var b = r | 0, n = Math.floor(86400 * (r - b)), p = 0, a = [], l = { D: b, T: n, u: 86400 * (r - b) - n, y: 0, m: 0, d: 0, H: 0, M: 0, S: 0, q: 0 };
|
|
97
|
+
if (Math.abs(l.u) < 1e-6 && (l.u = 0), t && t.date1904 && (b += 1462), l.u > 0.9999 && (l.u = 0, ++n == 86400 && (l.T = n = 0, ++b, ++l.D)), b === 60)
|
|
98
|
+
a = e ? [1317, 10, 29] : [1900, 2, 29], p = 3;
|
|
99
|
+
else if (b === 0)
|
|
100
|
+
a = e ? [1317, 8, 29] : [1900, 1, 0], p = 6;
|
|
101
|
+
else {
|
|
102
|
+
b > 60 && --b;
|
|
103
|
+
var y = new Date(1900, 0, 1);
|
|
104
|
+
y.setDate(y.getDate() + b - 1), a = [y.getFullYear(), y.getMonth() + 1, y.getDate()], p = y.getDay(), b < 60 && (p = (p + 6) % 7), e && (p = Te(y, a));
|
|
105
|
+
}
|
|
106
|
+
return l.y = a[0], l.m = a[1], l.d = a[2], l.S = n % 60, n = Math.floor(n / 60), l.M = n % 60, n = Math.floor(n / 60), l.H = n, l.q = p, l;
|
|
107
|
+
}
|
|
108
|
+
w.parse_date_code = pe;
|
|
109
|
+
var Se = new Date(1899, 11, 31, 0, 0, 0), De = Se.getTime(), Re = new Date(1900, 2, 1, 0, 0, 0);
|
|
110
|
+
function Ne(r, t) {
|
|
111
|
+
var e = r.getTime();
|
|
112
|
+
return t ? e -= 1262304e5 : r >= Re && (e += 864e5), (e - (De + (r.getTimezoneOffset() - Se.getTimezoneOffset()) * 6e4)) / 864e5;
|
|
113
|
+
}
|
|
114
|
+
function _e(r) {
|
|
115
|
+
return r.toString(10);
|
|
116
|
+
}
|
|
117
|
+
w._general_int = _e;
|
|
118
|
+
var Ce = /* @__PURE__ */ function() {
|
|
119
|
+
var t = /(?:\.0*|(\.\d*[1-9])0+)$/;
|
|
120
|
+
function e(h) {
|
|
121
|
+
return h.indexOf(".") == -1 ? h : h.replace(t, "$1");
|
|
122
|
+
}
|
|
123
|
+
var b = /(?:\.0*|(\.\d*[1-9])0+)[Ee]/, n = /(E[+-])(\d)$/;
|
|
124
|
+
function p(h) {
|
|
125
|
+
return h.indexOf("E") == -1 ? h : h.replace(b, "$1E").replace(n, "$10$2");
|
|
126
|
+
}
|
|
127
|
+
function a(h) {
|
|
128
|
+
var m = h < 0 ? 12 : 11, A = e(h.toFixed(12));
|
|
129
|
+
return A.length <= m || (A = h.toPrecision(10), A.length <= m) ? A : h.toExponential(5);
|
|
130
|
+
}
|
|
131
|
+
function l(h) {
|
|
132
|
+
var m = e(h.toFixed(11));
|
|
133
|
+
return m.length > (h < 0 ? 12 : 11) || m === "0" || m === "-0" ? h.toPrecision(6) : m;
|
|
134
|
+
}
|
|
135
|
+
function y(h) {
|
|
136
|
+
var m = Math.floor(Math.log(Math.abs(h)) * Math.LOG10E), A;
|
|
137
|
+
return m >= -4 && m <= -1 ? A = h.toPrecision(10 + m) : Math.abs(m) <= 9 ? A = a(h) : m === 10 ? A = h.toFixed(10).substr(0, 12) : A = l(h), e(p(A.toUpperCase()));
|
|
138
|
+
}
|
|
139
|
+
return y;
|
|
140
|
+
}();
|
|
141
|
+
w._general_num = Ce;
|
|
142
|
+
function me(r, t) {
|
|
143
|
+
switch (typeof r) {
|
|
144
|
+
case "string":
|
|
145
|
+
return r;
|
|
146
|
+
case "boolean":
|
|
147
|
+
return r ? "TRUE" : "FALSE";
|
|
148
|
+
case "number":
|
|
149
|
+
return (r | 0) === r ? r.toString(10) : Ce(r);
|
|
150
|
+
case "undefined":
|
|
151
|
+
return "";
|
|
152
|
+
case "object":
|
|
153
|
+
if (r == null) return "";
|
|
154
|
+
if (r instanceof Date) return ne(14, Ne(r, t && t.date1904), t);
|
|
155
|
+
}
|
|
156
|
+
throw new Error("unsupported value in General format: " + r);
|
|
157
|
+
}
|
|
158
|
+
w._general = me;
|
|
159
|
+
function Te(r, t) {
|
|
160
|
+
t[0] -= 581;
|
|
161
|
+
var e = r.getDay();
|
|
162
|
+
return r < 60 && (e = (e + 6) % 7), e;
|
|
163
|
+
}
|
|
164
|
+
function Fe(r, t, e, b) {
|
|
165
|
+
var n = "", p = 0, a = 0, l = e.y, y, h = 0;
|
|
166
|
+
switch (r) {
|
|
167
|
+
case 98:
|
|
168
|
+
l = e.y + 543;
|
|
169
|
+
case 121:
|
|
170
|
+
switch (t.length) {
|
|
171
|
+
case 1:
|
|
172
|
+
case 2:
|
|
173
|
+
y = l % 100, h = 2;
|
|
174
|
+
break;
|
|
175
|
+
default:
|
|
176
|
+
y = l % 1e4, h = 4;
|
|
177
|
+
break;
|
|
178
|
+
}
|
|
179
|
+
break;
|
|
180
|
+
case 109:
|
|
181
|
+
switch (t.length) {
|
|
182
|
+
case 1:
|
|
183
|
+
case 2:
|
|
184
|
+
y = e.m, h = t.length;
|
|
185
|
+
break;
|
|
186
|
+
case 3:
|
|
187
|
+
return we[e.m - 1][1];
|
|
188
|
+
case 5:
|
|
189
|
+
return we[e.m - 1][0];
|
|
190
|
+
default:
|
|
191
|
+
return we[e.m - 1][2];
|
|
192
|
+
}
|
|
193
|
+
break;
|
|
194
|
+
case 100:
|
|
195
|
+
switch (t.length) {
|
|
196
|
+
case 1:
|
|
197
|
+
case 2:
|
|
198
|
+
y = e.d, h = t.length;
|
|
199
|
+
break;
|
|
200
|
+
case 3:
|
|
201
|
+
return ve[e.q][0];
|
|
202
|
+
default:
|
|
203
|
+
return ve[e.q][1];
|
|
204
|
+
}
|
|
205
|
+
break;
|
|
206
|
+
case 104:
|
|
207
|
+
switch (t.length) {
|
|
208
|
+
case 1:
|
|
209
|
+
case 2:
|
|
210
|
+
y = 1 + (e.H + 11) % 12, h = t.length;
|
|
211
|
+
break;
|
|
212
|
+
default:
|
|
213
|
+
throw "bad hour format: " + t;
|
|
214
|
+
}
|
|
215
|
+
break;
|
|
216
|
+
case 72:
|
|
217
|
+
switch (t.length) {
|
|
218
|
+
case 1:
|
|
219
|
+
case 2:
|
|
220
|
+
y = e.H, h = t.length;
|
|
221
|
+
break;
|
|
222
|
+
default:
|
|
223
|
+
throw "bad hour format: " + t;
|
|
224
|
+
}
|
|
225
|
+
break;
|
|
226
|
+
case 77:
|
|
227
|
+
switch (t.length) {
|
|
228
|
+
case 1:
|
|
229
|
+
case 2:
|
|
230
|
+
y = e.M, h = t.length;
|
|
231
|
+
break;
|
|
232
|
+
default:
|
|
233
|
+
throw "bad minute format: " + t;
|
|
234
|
+
}
|
|
235
|
+
break;
|
|
236
|
+
case 115:
|
|
237
|
+
if (t != "s" && t != "ss" && t != ".0" && t != ".00" && t != ".000") throw "bad second format: " + t;
|
|
238
|
+
return e.u === 0 && (t == "s" || t == "ss") ? T(e.S, t.length) : (b >= 2 ? a = b === 3 ? 1e3 : 100 : a = b === 1 ? 10 : 1, p = Math.round(a * (e.S + e.u)), p >= 60 * a && (p = 0), t === "s" ? p === 0 ? "0" : "" + p / a : (n = T(p, 2 + b), t === "ss" ? n.substr(0, 2) : "." + n.substr(2, t.length - 1)));
|
|
239
|
+
case 90:
|
|
240
|
+
switch (t) {
|
|
241
|
+
case "[h]":
|
|
242
|
+
case "[hh]":
|
|
243
|
+
y = e.D * 24 + e.H;
|
|
244
|
+
break;
|
|
245
|
+
case "[m]":
|
|
246
|
+
case "[mm]":
|
|
247
|
+
y = (e.D * 24 + e.H) * 60 + e.M;
|
|
248
|
+
break;
|
|
249
|
+
case "[s]":
|
|
250
|
+
case "[ss]":
|
|
251
|
+
y = ((e.D * 24 + e.H) * 60 + e.M) * 60 + Math.round(e.S + e.u);
|
|
252
|
+
break;
|
|
253
|
+
default:
|
|
254
|
+
throw "bad abstime format: " + t;
|
|
255
|
+
}
|
|
256
|
+
h = t.length === 3 ? 1 : 2;
|
|
257
|
+
break;
|
|
258
|
+
case 101:
|
|
259
|
+
y = l, h = 1;
|
|
260
|
+
break;
|
|
261
|
+
}
|
|
262
|
+
var m = h > 0 ? T(y, h) : "";
|
|
263
|
+
return m;
|
|
264
|
+
}
|
|
265
|
+
function Q(r) {
|
|
266
|
+
var t = 3;
|
|
267
|
+
if (r.length <= t) return r;
|
|
268
|
+
for (var e = r.length % t, b = r.substr(0, e); e != r.length; e += t) b += (b.length > 0 ? "," : "") + r.substr(e, t);
|
|
269
|
+
return b;
|
|
270
|
+
}
|
|
271
|
+
var X = /* @__PURE__ */ function() {
|
|
272
|
+
var t = /%/g;
|
|
273
|
+
function e(f, i, o) {
|
|
274
|
+
var x = i.replace(t, ""), c = i.length - x.length;
|
|
275
|
+
return X(f, x, o * Math.pow(10, 2 * c)) + $("%", c);
|
|
276
|
+
}
|
|
277
|
+
function b(f, i, o) {
|
|
278
|
+
for (var x = i.length - 1; i.charCodeAt(x - 1) === 44; ) --x;
|
|
279
|
+
return X(f, i.substr(0, x), o / Math.pow(10, 3 * (i.length - x)));
|
|
280
|
+
}
|
|
281
|
+
function n(f, i) {
|
|
282
|
+
var o, x = f.indexOf("E") - f.indexOf(".") - 1;
|
|
283
|
+
if (f.match(/^#+0.0E\+0$/)) {
|
|
284
|
+
if (i == 0) return "0.0E+0";
|
|
285
|
+
if (i < 0) return "-" + n(f, -i);
|
|
286
|
+
var c = f.indexOf(".");
|
|
287
|
+
c === -1 && (c = f.indexOf("E"));
|
|
288
|
+
var s = Math.floor(Math.log(i) * Math.LOG10E) % c;
|
|
289
|
+
if (s < 0 && (s += c), o = (i / Math.pow(10, s)).toPrecision(x + 1 + (c + s) % c), o.indexOf("e") === -1) {
|
|
290
|
+
var E = Math.floor(Math.log(i) * Math.LOG10E);
|
|
291
|
+
for (o.indexOf(".") === -1 ? o = o.charAt(0) + "." + o.substr(1) + "E+" + (E - o.length + s) : o += "E+" + (E - s); o.substr(0, 2) === "0."; )
|
|
292
|
+
o = o.charAt(0) + o.substr(2, c) + "." + o.substr(2 + c), o = o.replace(/^0+([1-9])/, "$1").replace(/^0+\./, "0.");
|
|
293
|
+
o = o.replace(/\+-/, "-");
|
|
294
|
+
}
|
|
295
|
+
o = o.replace(/^([+-]?)(\d*)\.(\d*)[Ee]/, function(P, L, H, O) {
|
|
296
|
+
return L + H + O.substr(0, (c + s) % c) + "." + O.substr(s) + "E";
|
|
297
|
+
});
|
|
298
|
+
} else o = i.toExponential(x);
|
|
299
|
+
return f.match(/E\+00$/) && o.match(/e[+-]\d$/) && (o = o.substr(0, o.length - 1) + "0" + o.charAt(o.length - 1)), f.match(/E\-/) && o.match(/e\+/) && (o = o.replace(/e\+/, "e")), o.replace("e", "E");
|
|
300
|
+
}
|
|
301
|
+
var p = /# (\?+)( ?)\/( ?)(\d+)/;
|
|
302
|
+
function a(f, i, o) {
|
|
303
|
+
var x = parseInt(f[4], 10), c = Math.round(i * x), s = Math.floor(c / x), E = c - s * x, P = x;
|
|
304
|
+
return o + (s === 0 ? "" : "" + s) + " " + (E === 0 ? $(" ", f[1].length + 1 + f[4].length) : V(E, f[1].length) + f[2] + "/" + f[3] + T(P, f[4].length));
|
|
305
|
+
}
|
|
306
|
+
function l(f, i, o) {
|
|
307
|
+
return o + (i === 0 ? "" : "" + i) + $(" ", f[1].length + 2 + f[4].length);
|
|
308
|
+
}
|
|
309
|
+
var y = /^#*0*\.([0#]+)/, h = /\).*[0#]/, m = /\(###\) ###\\?-####/;
|
|
310
|
+
function A(f) {
|
|
311
|
+
for (var i = "", o, x = 0; x != f.length; ++x) switch (o = f.charCodeAt(x)) {
|
|
312
|
+
case 35:
|
|
313
|
+
break;
|
|
314
|
+
case 63:
|
|
315
|
+
i += " ";
|
|
316
|
+
break;
|
|
317
|
+
case 48:
|
|
318
|
+
i += "0";
|
|
319
|
+
break;
|
|
320
|
+
default:
|
|
321
|
+
i += String.fromCharCode(o);
|
|
322
|
+
}
|
|
323
|
+
return i;
|
|
324
|
+
}
|
|
325
|
+
function R(f, i) {
|
|
326
|
+
var o = Math.pow(10, i);
|
|
327
|
+
return "" + Math.round(f * o) / o;
|
|
328
|
+
}
|
|
329
|
+
function K(f, i) {
|
|
330
|
+
var o = f - Math.floor(f), x = Math.pow(10, i);
|
|
331
|
+
return i < ("" + Math.round(o * x)).length ? 0 : Math.round(o * x);
|
|
332
|
+
}
|
|
333
|
+
function ue(f, i) {
|
|
334
|
+
return i < ("" + Math.round((f - Math.floor(f)) * Math.pow(10, i))).length ? 1 : 0;
|
|
335
|
+
}
|
|
336
|
+
function Y(f) {
|
|
337
|
+
return f < 2147483647 && f > -2147483648 ? "" + (f >= 0 ? f | 0 : f - 1 | 0) : "" + Math.floor(f);
|
|
338
|
+
}
|
|
339
|
+
function S(f, i, o) {
|
|
340
|
+
if (f.charCodeAt(0) === 40 && !i.match(h)) {
|
|
341
|
+
var x = i.replace(/\( */, "").replace(/ \)/, "").replace(/\)/, "");
|
|
342
|
+
return o >= 0 ? S("n", x, o) : "(" + S("n", x, -o) + ")";
|
|
343
|
+
}
|
|
344
|
+
if (i.charCodeAt(i.length - 1) === 44) return b(f, i, o);
|
|
345
|
+
if (i.indexOf("%") !== -1) return e(f, i, o);
|
|
346
|
+
if (i.indexOf("E") !== -1) return n(i, o);
|
|
347
|
+
if (i.charCodeAt(0) === 36) return "$" + S(f, i.substr(i.charAt(1) == " " ? 2 : 1), o);
|
|
348
|
+
var c, s, E, P, L = Math.abs(o), H = o < 0 ? "-" : "";
|
|
349
|
+
if (i.match(/^00+$/)) return H + ie(L, i.length);
|
|
350
|
+
if (i.match(/^[#?]+$/))
|
|
351
|
+
return c = ie(o, 0), c === "0" && (c = ""), c.length > i.length ? c : A(i.substr(0, i.length - c.length)) + c;
|
|
352
|
+
if (s = i.match(p)) return a(s, L, H);
|
|
353
|
+
if (i.match(/^#+0+$/)) return H + ie(L, i.length - i.indexOf("0"));
|
|
354
|
+
if (s = i.match(y))
|
|
355
|
+
return c = R(o, s[1].length).replace(/^([^\.]+)$/, "$1." + A(s[1])).replace(/\.$/, "." + A(s[1])).replace(/\.(\d*)$/, function(g, N) {
|
|
356
|
+
return "." + N + $("0", A(s[1]).length - N.length);
|
|
357
|
+
}), i.indexOf("0.") !== -1 ? c : c.replace(/^0\./, ".");
|
|
358
|
+
if (i = i.replace(/^#+([0.])/, "$1"), s = i.match(/^(0*)\.(#*)$/))
|
|
359
|
+
return H + R(L, s[2].length).replace(/\.(\d*[1-9])0*$/, ".$1").replace(/^(-?\d*)$/, "$1.").replace(/^0\./, s[1].length ? "0." : ".");
|
|
360
|
+
if (s = i.match(/^#{1,3},##0(\.?)$/)) return H + Q(ie(L, 0));
|
|
361
|
+
if (s = i.match(/^#,##0\.([#0]*0)$/))
|
|
362
|
+
return o < 0 ? "-" + S(f, i, -o) : Q("" + (Math.floor(o) + ue(o, s[1].length))) + "." + T(K(o, s[1].length), s[1].length);
|
|
363
|
+
if (s = i.match(/^#,#*,#0/)) return S(f, i.replace(/^#,#*,/, ""), o);
|
|
364
|
+
if (s = i.match(/^([0#]+)(\\?-([0#]+))+$/))
|
|
365
|
+
return c = C(S(f, i.replace(/[\\-]/g, ""), o)), E = 0, C(C(i.replace(/\\/g, "")).replace(/[0#]/g, function(g) {
|
|
366
|
+
return E < c.length ? c.charAt(E++) : g === "0" ? "0" : "";
|
|
367
|
+
}));
|
|
368
|
+
if (i.match(m))
|
|
369
|
+
return c = S(f, "##########", o), "(" + c.substr(0, 3) + ") " + c.substr(3, 3) + "-" + c.substr(6);
|
|
370
|
+
var O = "";
|
|
371
|
+
if (s = i.match(/^([#0?]+)( ?)\/( ?)([#0?]+)/))
|
|
372
|
+
return E = Math.min(s[4].length, 7), P = ke(L, Math.pow(10, E) - 1, !1), c = "" + H, O = X("n", s[1], P[1]), O.charAt(O.length - 1) == " " && (O = O.substr(0, O.length - 1) + "0"), c += O + s[2] + "/" + s[3], O = B(P[2], E), O.length < s[4].length && (O = A(s[4].substr(s[4].length - O.length)) + O), c += O, c;
|
|
373
|
+
if (s = i.match(/^# ([#0?]+)( ?)\/( ?)([#0?]+)/))
|
|
374
|
+
return E = Math.min(Math.max(s[1].length, s[4].length), 7), P = ke(L, Math.pow(10, E) - 1, !0), H + (P[0] || (P[1] ? "" : "0")) + " " + (P[1] ? V(P[1], E) + s[2] + "/" + s[3] + B(P[2], E) : $(" ", 2 * E + 1 + s[2].length + s[3].length));
|
|
375
|
+
if (s = i.match(/^[#0?]+$/))
|
|
376
|
+
return c = ie(o, 0), i.length <= c.length ? c : A(i.substr(0, i.length - c.length)) + c;
|
|
377
|
+
if (s = i.match(/^([#0?]+)\.([#0]+)$/)) {
|
|
378
|
+
c = "" + o.toFixed(Math.min(s[2].length, 10)).replace(/([^0])0+$/, "$1"), E = c.indexOf(".");
|
|
379
|
+
var de = i.indexOf(".") - E, Me = i.length - c.length - de;
|
|
380
|
+
return A(i.substr(0, de) + c + i.substr(i.length - Me));
|
|
381
|
+
}
|
|
382
|
+
if (s = i.match(/^00,000\.([#0]*0)$/))
|
|
383
|
+
return E = K(o, s[1].length), o < 0 ? "-" + S(f, i, -o) : Q(Y(o)).replace(/^\d,\d{3}$/, "0$&").replace(/^\d*$/, function(g) {
|
|
384
|
+
return "00," + (g.length < 3 ? T(0, 3 - g.length) : "") + g;
|
|
385
|
+
}) + "." + T(E, s[1].length);
|
|
386
|
+
switch (i) {
|
|
387
|
+
case "###,##0.00":
|
|
388
|
+
return S(f, "#,##0.00", o);
|
|
389
|
+
case "###,###":
|
|
390
|
+
case "##,###":
|
|
391
|
+
case "#,###":
|
|
392
|
+
var be = Q(ie(L, 0));
|
|
393
|
+
return be !== "0" ? H + be : "";
|
|
394
|
+
case "###,###.00":
|
|
395
|
+
return S(f, "###,##0.00", o).replace(/^0\./, ".");
|
|
396
|
+
case "#,###.00":
|
|
397
|
+
return S(f, "#,##0.00", o).replace(/^0\./, ".");
|
|
398
|
+
}
|
|
399
|
+
throw new Error("unsupported format |" + i + "|");
|
|
400
|
+
}
|
|
401
|
+
function U(f, i, o) {
|
|
402
|
+
for (var x = i.length - 1; i.charCodeAt(x - 1) === 44; ) --x;
|
|
403
|
+
return X(f, i.substr(0, x), o / Math.pow(10, 3 * (i.length - x)));
|
|
404
|
+
}
|
|
405
|
+
function he(f, i, o) {
|
|
406
|
+
var x = i.replace(t, ""), c = i.length - x.length;
|
|
407
|
+
return X(f, x, o * Math.pow(10, 2 * c)) + $("%", c);
|
|
408
|
+
}
|
|
409
|
+
function ae(f, i) {
|
|
410
|
+
var o, x = f.indexOf("E") - f.indexOf(".") - 1;
|
|
411
|
+
if (f.match(/^#+0.0E\+0$/)) {
|
|
412
|
+
if (i == 0) return "0.0E+0";
|
|
413
|
+
if (i < 0) return "-" + ae(f, -i);
|
|
414
|
+
var c = f.indexOf(".");
|
|
415
|
+
c === -1 && (c = f.indexOf("E"));
|
|
416
|
+
var s = Math.floor(Math.log(i) * Math.LOG10E) % c;
|
|
417
|
+
if (s < 0 && (s += c), o = (i / Math.pow(10, s)).toPrecision(x + 1 + (c + s) % c), !o.match(/[Ee]/)) {
|
|
418
|
+
var E = Math.floor(Math.log(i) * Math.LOG10E);
|
|
419
|
+
o.indexOf(".") === -1 ? o = o.charAt(0) + "." + o.substr(1) + "E+" + (E - o.length + s) : o += "E+" + (E - s), o = o.replace(/\+-/, "-");
|
|
420
|
+
}
|
|
421
|
+
o = o.replace(/^([+-]?)(\d*)\.(\d*)[Ee]/, function(P, L, H, O) {
|
|
422
|
+
return L + H + O.substr(0, (c + s) % c) + "." + O.substr(s) + "E";
|
|
423
|
+
});
|
|
424
|
+
} else o = i.toExponential(x);
|
|
425
|
+
return f.match(/E\+00$/) && o.match(/e[+-]\d$/) && (o = o.substr(0, o.length - 1) + "0" + o.charAt(o.length - 1)), f.match(/E\-/) && o.match(/e\+/) && (o = o.replace(/e\+/, "e")), o.replace("e", "E");
|
|
426
|
+
}
|
|
427
|
+
function v(f, i, o) {
|
|
428
|
+
if (f.charCodeAt(0) === 40 && !i.match(h)) {
|
|
429
|
+
var x = i.replace(/\( */, "").replace(/ \)/, "").replace(/\)/, "");
|
|
430
|
+
return o >= 0 ? v("n", x, o) : "(" + v("n", x, -o) + ")";
|
|
431
|
+
}
|
|
432
|
+
if (i.charCodeAt(i.length - 1) === 44) return U(f, i, o);
|
|
433
|
+
if (i.indexOf("%") !== -1) return he(f, i, o);
|
|
434
|
+
if (i.indexOf("E") !== -1) return ae(i, o);
|
|
435
|
+
if (i.charCodeAt(0) === 36) return "$" + v(f, i.substr(i.charAt(1) == " " ? 2 : 1), o);
|
|
436
|
+
var c, s, E, P, L = Math.abs(o), H = o < 0 ? "-" : "";
|
|
437
|
+
if (i.match(/^00+$/)) return H + T(L, i.length);
|
|
438
|
+
if (i.match(/^[#?]+$/))
|
|
439
|
+
return c = "" + o, o === 0 && (c = ""), c.length > i.length ? c : A(i.substr(0, i.length - c.length)) + c;
|
|
440
|
+
if (s = i.match(p)) return l(s, L, H);
|
|
441
|
+
if (i.match(/^#+0+$/)) return H + T(L, i.length - i.indexOf("0"));
|
|
442
|
+
if (s = i.match(y))
|
|
443
|
+
return c = ("" + o).replace(/^([^\.]+)$/, "$1." + A(s[1])).replace(/\.$/, "." + A(s[1])), c = c.replace(/\.(\d*)$/, function(g, N) {
|
|
444
|
+
return "." + N + $("0", A(s[1]).length - N.length);
|
|
445
|
+
}), i.indexOf("0.") !== -1 ? c : c.replace(/^0\./, ".");
|
|
446
|
+
if (i = i.replace(/^#+([0.])/, "$1"), s = i.match(/^(0*)\.(#*)$/))
|
|
447
|
+
return H + ("" + L).replace(/\.(\d*[1-9])0*$/, ".$1").replace(/^(-?\d*)$/, "$1.").replace(/^0\./, s[1].length ? "0." : ".");
|
|
448
|
+
if (s = i.match(/^#{1,3},##0(\.?)$/)) return H + Q("" + L);
|
|
449
|
+
if (s = i.match(/^#,##0\.([#0]*0)$/))
|
|
450
|
+
return o < 0 ? "-" + v(f, i, -o) : Q("" + o) + "." + $("0", s[1].length);
|
|
451
|
+
if (s = i.match(/^#,#*,#0/)) return v(f, i.replace(/^#,#*,/, ""), o);
|
|
452
|
+
if (s = i.match(/^([0#]+)(\\?-([0#]+))+$/))
|
|
453
|
+
return c = C(v(f, i.replace(/[\\-]/g, ""), o)), E = 0, C(C(i.replace(/\\/g, "")).replace(/[0#]/g, function(g) {
|
|
454
|
+
return E < c.length ? c.charAt(E++) : g === "0" ? "0" : "";
|
|
455
|
+
}));
|
|
456
|
+
if (i.match(m))
|
|
457
|
+
return c = v(f, "##########", o), "(" + c.substr(0, 3) + ") " + c.substr(3, 3) + "-" + c.substr(6);
|
|
458
|
+
var O = "";
|
|
459
|
+
if (s = i.match(/^([#0?]+)( ?)\/( ?)([#0?]+)/))
|
|
460
|
+
return E = Math.min(s[4].length, 7), P = ke(L, Math.pow(10, E) - 1, !1), c = "" + H, O = X("n", s[1], P[1]), O.charAt(O.length - 1) == " " && (O = O.substr(0, O.length - 1) + "0"), c += O + s[2] + "/" + s[3], O = B(P[2], E), O.length < s[4].length && (O = A(s[4].substr(s[4].length - O.length)) + O), c += O, c;
|
|
461
|
+
if (s = i.match(/^# ([#0?]+)( ?)\/( ?)([#0?]+)/))
|
|
462
|
+
return E = Math.min(Math.max(s[1].length, s[4].length), 7), P = ke(L, Math.pow(10, E) - 1, !0), H + (P[0] || (P[1] ? "" : "0")) + " " + (P[1] ? V(P[1], E) + s[2] + "/" + s[3] + B(P[2], E) : $(" ", 2 * E + 1 + s[2].length + s[3].length));
|
|
463
|
+
if (s = i.match(/^[#0?]+$/))
|
|
464
|
+
return c = "" + o, i.length <= c.length ? c : A(i.substr(0, i.length - c.length)) + c;
|
|
465
|
+
if (s = i.match(/^([#0]+)\.([#0]+)$/)) {
|
|
466
|
+
c = "" + o.toFixed(Math.min(s[2].length, 10)).replace(/([^0])0+$/, "$1"), E = c.indexOf(".");
|
|
467
|
+
var de = i.indexOf(".") - E, Me = i.length - c.length - de;
|
|
468
|
+
return A(i.substr(0, de) + c + i.substr(i.length - Me));
|
|
469
|
+
}
|
|
470
|
+
if (s = i.match(/^00,000\.([#0]*0)$/))
|
|
471
|
+
return o < 0 ? "-" + v(f, i, -o) : Q("" + o).replace(/^\d,\d{3}$/, "0$&").replace(/^\d*$/, function(g) {
|
|
472
|
+
return "00," + (g.length < 3 ? T(0, 3 - g.length) : "") + g;
|
|
473
|
+
}) + "." + T(0, s[1].length);
|
|
474
|
+
switch (i) {
|
|
475
|
+
case "###,###":
|
|
476
|
+
case "##,###":
|
|
477
|
+
case "#,###":
|
|
478
|
+
var be = Q("" + L);
|
|
479
|
+
return be !== "0" ? H + be : "";
|
|
480
|
+
default:
|
|
481
|
+
if (i.match(/\.[0#?]*$/)) return v(f, i.slice(0, i.lastIndexOf(".")), o) + A(i.slice(i.lastIndexOf(".")));
|
|
482
|
+
}
|
|
483
|
+
throw new Error("unsupported format |" + i + "|");
|
|
484
|
+
}
|
|
485
|
+
return function(i, o, x) {
|
|
486
|
+
return (x | 0) === x ? v(i, o, x) : S(i, o, x);
|
|
487
|
+
};
|
|
488
|
+
}();
|
|
489
|
+
function ye(r) {
|
|
490
|
+
for (var t = [], e = !1, b = 0, n = 0; b < r.length; ++b) switch (
|
|
491
|
+
/*cc=*/
|
|
492
|
+
r.charCodeAt(b)
|
|
493
|
+
) {
|
|
494
|
+
case 34:
|
|
495
|
+
e = !e;
|
|
496
|
+
break;
|
|
497
|
+
case 95:
|
|
498
|
+
case 42:
|
|
499
|
+
case 92:
|
|
500
|
+
++b;
|
|
501
|
+
break;
|
|
502
|
+
case 59:
|
|
503
|
+
t[t.length] = r.substr(n, b - n), n = b + 1;
|
|
504
|
+
}
|
|
505
|
+
if (t[t.length] = r.substr(n), e === !0) throw new Error("Format |" + r + "| unterminated string ");
|
|
506
|
+
return t;
|
|
507
|
+
}
|
|
508
|
+
w._split = ye;
|
|
509
|
+
var Ee = /\[[HhMmSs\u0E0A\u0E19\u0E17]*\]/;
|
|
510
|
+
function Ae(r) {
|
|
511
|
+
for (var t = 0, e = "", b = ""; t < r.length; )
|
|
512
|
+
switch (e = r.charAt(t)) {
|
|
513
|
+
case "G":
|
|
514
|
+
se(r, t) && (t += 6), t++;
|
|
515
|
+
break;
|
|
516
|
+
case '"':
|
|
517
|
+
for (
|
|
518
|
+
;
|
|
519
|
+
/*cc=*/
|
|
520
|
+
r.charCodeAt(++t) !== 34 && t < r.length;
|
|
521
|
+
)
|
|
522
|
+
;
|
|
523
|
+
++t;
|
|
524
|
+
break;
|
|
525
|
+
case "\\":
|
|
526
|
+
t += 2;
|
|
527
|
+
break;
|
|
528
|
+
case "_":
|
|
529
|
+
t += 2;
|
|
530
|
+
break;
|
|
531
|
+
case "@":
|
|
532
|
+
++t;
|
|
533
|
+
break;
|
|
534
|
+
case "B":
|
|
535
|
+
case "b":
|
|
536
|
+
if (r.charAt(t + 1) === "1" || r.charAt(t + 1) === "2") return !0;
|
|
537
|
+
case "M":
|
|
538
|
+
case "D":
|
|
539
|
+
case "Y":
|
|
540
|
+
case "H":
|
|
541
|
+
case "S":
|
|
542
|
+
case "E":
|
|
543
|
+
case "m":
|
|
544
|
+
case "d":
|
|
545
|
+
case "y":
|
|
546
|
+
case "h":
|
|
547
|
+
case "s":
|
|
548
|
+
case "e":
|
|
549
|
+
case "g":
|
|
550
|
+
return !0;
|
|
551
|
+
case "A":
|
|
552
|
+
case "a":
|
|
553
|
+
case "上":
|
|
554
|
+
if (r.substr(t, 3).toUpperCase() === "A/P" || r.substr(t, 5).toUpperCase() === "AM/PM" || r.substr(t, 5).toUpperCase() === "上午/下午") return !0;
|
|
555
|
+
++t;
|
|
556
|
+
break;
|
|
557
|
+
case "[":
|
|
558
|
+
for (b = e; r.charAt(t++) !== "]" && t < r.length; ) b += r.charAt(t);
|
|
559
|
+
if (b.match(Ee)) return !0;
|
|
560
|
+
break;
|
|
561
|
+
case ".":
|
|
562
|
+
case "0":
|
|
563
|
+
case "#":
|
|
564
|
+
for (; t < r.length && ("0#?.,E+-%".indexOf(e = r.charAt(++t)) > -1 || e == "\\" && r.charAt(t + 1) == "-" && "0#".indexOf(r.charAt(t + 2)) > -1); )
|
|
565
|
+
;
|
|
566
|
+
break;
|
|
567
|
+
case "?":
|
|
568
|
+
for (; r.charAt(++t) === e; )
|
|
569
|
+
;
|
|
570
|
+
break;
|
|
571
|
+
case "*":
|
|
572
|
+
++t, (r.charAt(t) == " " || r.charAt(t) == "*") && ++t;
|
|
573
|
+
break;
|
|
574
|
+
case "(":
|
|
575
|
+
case ")":
|
|
576
|
+
++t;
|
|
577
|
+
break;
|
|
578
|
+
case "1":
|
|
579
|
+
case "2":
|
|
580
|
+
case "3":
|
|
581
|
+
case "4":
|
|
582
|
+
case "5":
|
|
583
|
+
case "6":
|
|
584
|
+
case "7":
|
|
585
|
+
case "8":
|
|
586
|
+
case "9":
|
|
587
|
+
for (; t < r.length && "0123456789".indexOf(r.charAt(++t)) > -1; )
|
|
588
|
+
;
|
|
589
|
+
break;
|
|
590
|
+
case " ":
|
|
591
|
+
++t;
|
|
592
|
+
break;
|
|
593
|
+
default:
|
|
594
|
+
++t;
|
|
595
|
+
break;
|
|
596
|
+
}
|
|
597
|
+
return !1;
|
|
598
|
+
}
|
|
599
|
+
w.is_date = Ae;
|
|
600
|
+
function z(r, t, e, b) {
|
|
601
|
+
for (var n = [], p = "", a = 0, l = "", y = "t", h, m, A, R = "H"; a < r.length; )
|
|
602
|
+
switch (l = r.charAt(a)) {
|
|
603
|
+
case "G":
|
|
604
|
+
if (!se(r, a)) throw new Error("unrecognized character " + l + " in " + r);
|
|
605
|
+
n[n.length] = { t: "G", v: "General" }, a += 7;
|
|
606
|
+
break;
|
|
607
|
+
case '"':
|
|
608
|
+
for (p = ""; (A = r.charCodeAt(++a)) !== 34 && a < r.length; ) p += String.fromCharCode(A);
|
|
609
|
+
n[n.length] = { t: "t", v: p }, ++a;
|
|
610
|
+
break;
|
|
611
|
+
case "\\":
|
|
612
|
+
var K = r.charAt(++a), ue = K === "(" || K === ")" ? K : "t";
|
|
613
|
+
n[n.length] = { t: ue, v: K }, ++a;
|
|
614
|
+
break;
|
|
615
|
+
case "_":
|
|
616
|
+
n[n.length] = { t: "t", v: " " }, a += 2;
|
|
617
|
+
break;
|
|
618
|
+
case "@":
|
|
619
|
+
n[n.length] = { t: "T", v: t }, ++a;
|
|
620
|
+
break;
|
|
621
|
+
case "B":
|
|
622
|
+
case "b":
|
|
623
|
+
if (r.charAt(a + 1) === "1" || r.charAt(a + 1) === "2") {
|
|
624
|
+
if (h == null && (h = pe(t, e, r.charAt(a + 1) === "2"), h == null))
|
|
625
|
+
return "";
|
|
626
|
+
n[n.length] = { t: "X", v: r.substr(a, 2) }, y = l, a += 2;
|
|
627
|
+
break;
|
|
628
|
+
}
|
|
629
|
+
case "M":
|
|
630
|
+
case "D":
|
|
631
|
+
case "Y":
|
|
632
|
+
case "H":
|
|
633
|
+
case "S":
|
|
634
|
+
case "E":
|
|
635
|
+
l = l.toLowerCase();
|
|
636
|
+
case "m":
|
|
637
|
+
case "d":
|
|
638
|
+
case "y":
|
|
639
|
+
case "h":
|
|
640
|
+
case "s":
|
|
641
|
+
case "e":
|
|
642
|
+
case "g":
|
|
643
|
+
if (t < 0 || h == null && (h = pe(t, e), h == null))
|
|
644
|
+
return "";
|
|
645
|
+
for (p = l; ++a < r.length && r.charAt(a).toLowerCase() === l; ) p += l;
|
|
646
|
+
l === "m" && y.toLowerCase() === "h" && (l = "M"), l === "h" && (l = R), n[n.length] = { t: l, v: p }, y = l;
|
|
647
|
+
break;
|
|
648
|
+
case "A":
|
|
649
|
+
case "a":
|
|
650
|
+
case "上":
|
|
651
|
+
var Y = { t: l, v: l };
|
|
652
|
+
if (h == null && (h = pe(t, e)), r.substr(a, 3).toUpperCase() === "A/P" ? (h != null && (Y.v = h.H >= 12 ? "P" : "A"), Y.t = "T", R = "h", a += 3) : r.substr(a, 5).toUpperCase() === "AM/PM" ? (h != null && (Y.v = h.H >= 12 ? "PM" : "AM"), Y.t = "T", a += 5, R = "h") : r.substr(a, 5).toUpperCase() === "上午/下午" ? (h != null && (Y.v = h.H >= 12 ? "下午" : "上午"), Y.t = "T", a += 5, R = "h") : (Y.t = "t", ++a), h == null && Y.t === "T") return "";
|
|
653
|
+
n[n.length] = Y, y = l;
|
|
654
|
+
break;
|
|
655
|
+
case "[":
|
|
656
|
+
for (p = l; r.charAt(a++) !== "]" && a < r.length; ) p += r.charAt(a);
|
|
657
|
+
if (p.slice(-1) !== "]") throw 'unterminated "[" block: |' + p + "|";
|
|
658
|
+
if (p.match(Ee)) {
|
|
659
|
+
if (h == null && (h = pe(t, e), h == null))
|
|
660
|
+
return "";
|
|
661
|
+
n[n.length] = { t: "Z", v: p.toLowerCase() }, y = p.charAt(1);
|
|
662
|
+
} else p.indexOf("$") > -1 && (p = (p.match(/\$([^-\[\]]*)/) || [])[1] || "$", Ae(r) || (n[n.length] = { t: "t", v: p }));
|
|
663
|
+
break;
|
|
664
|
+
case ".":
|
|
665
|
+
if (h != null) {
|
|
666
|
+
for (p = l; ++a < r.length && (l = r.charAt(a)) === "0"; ) p += l;
|
|
667
|
+
n[n.length] = { t: "s", v: p };
|
|
668
|
+
break;
|
|
669
|
+
}
|
|
670
|
+
case "0":
|
|
671
|
+
case "#":
|
|
672
|
+
for (p = l; ++a < r.length && "0#?.,E+-%".indexOf(l = r.charAt(a)) > -1; ) p += l;
|
|
673
|
+
n[n.length] = { t: "n", v: p };
|
|
674
|
+
break;
|
|
675
|
+
case "?":
|
|
676
|
+
for (p = l; r.charAt(++a) === l; ) p += l;
|
|
677
|
+
n[n.length] = { t: l, v: p }, y = l;
|
|
678
|
+
break;
|
|
679
|
+
case "*":
|
|
680
|
+
++a, (r.charAt(a) == " " || r.charAt(a) == "*") && ++a;
|
|
681
|
+
break;
|
|
682
|
+
case "(":
|
|
683
|
+
case ")":
|
|
684
|
+
n[n.length] = { t: b === 1 ? "t" : l, v: l }, ++a;
|
|
685
|
+
break;
|
|
686
|
+
case "1":
|
|
687
|
+
case "2":
|
|
688
|
+
case "3":
|
|
689
|
+
case "4":
|
|
690
|
+
case "5":
|
|
691
|
+
case "6":
|
|
692
|
+
case "7":
|
|
693
|
+
case "8":
|
|
694
|
+
case "9":
|
|
695
|
+
for (p = l; a < r.length && "0123456789".indexOf(r.charAt(++a)) > -1; ) p += r.charAt(a);
|
|
696
|
+
n[n.length] = { t: "D", v: p };
|
|
697
|
+
break;
|
|
698
|
+
case " ":
|
|
699
|
+
n[n.length] = { t: l, v: l }, ++a;
|
|
700
|
+
break;
|
|
701
|
+
case "$":
|
|
702
|
+
n[n.length] = { t: "t", v: "$" }, ++a;
|
|
703
|
+
break;
|
|
704
|
+
default:
|
|
705
|
+
if (",$-+/():!^&'~{}<>=€acfijklopqrtuvwxzP".indexOf(l) === -1) throw new Error("unrecognized character " + l + " in " + r);
|
|
706
|
+
n[n.length] = { t: "t", v: l }, ++a;
|
|
707
|
+
break;
|
|
708
|
+
}
|
|
709
|
+
var S = 0, U = 0, he;
|
|
710
|
+
for (a = n.length - 1, y = "t"; a >= 0; --a)
|
|
711
|
+
switch (n[a].t) {
|
|
712
|
+
case "h":
|
|
713
|
+
case "H":
|
|
714
|
+
n[a].t = R, y = "h", S < 1 && (S = 1);
|
|
715
|
+
break;
|
|
716
|
+
case "s":
|
|
717
|
+
(he = n[a].v.match(/\.0+$/)) && (U = Math.max(U, he[0].length - 1)), S < 3 && (S = 3);
|
|
718
|
+
case "d":
|
|
719
|
+
case "y":
|
|
720
|
+
case "M":
|
|
721
|
+
case "e":
|
|
722
|
+
y = n[a].t;
|
|
723
|
+
break;
|
|
724
|
+
case "m":
|
|
725
|
+
y === "s" && (n[a].t = "M", S < 2 && (S = 2));
|
|
726
|
+
break;
|
|
727
|
+
case "X":
|
|
728
|
+
break;
|
|
729
|
+
case "Z":
|
|
730
|
+
S < 1 && n[a].v.match(/[Hh]/) && (S = 1), S < 2 && n[a].v.match(/[Mm]/) && (S = 2), S < 3 && n[a].v.match(/[Ss]/) && (S = 3);
|
|
731
|
+
}
|
|
732
|
+
switch (S) {
|
|
733
|
+
case 0:
|
|
734
|
+
break;
|
|
735
|
+
case 1:
|
|
736
|
+
h.u >= 0.5 && (h.u = 0, ++h.S), h.S >= 60 && (h.S = 0, ++h.M), h.M >= 60 && (h.M = 0, ++h.H);
|
|
737
|
+
break;
|
|
738
|
+
case 2:
|
|
739
|
+
h.u >= 0.5 && (h.u = 0, ++h.S), h.S >= 60 && (h.S = 0, ++h.M);
|
|
740
|
+
break;
|
|
741
|
+
}
|
|
742
|
+
var ae = "", v;
|
|
743
|
+
for (a = 0; a < n.length; ++a)
|
|
744
|
+
switch (n[a].t) {
|
|
745
|
+
case "t":
|
|
746
|
+
case "T":
|
|
747
|
+
case " ":
|
|
748
|
+
case "D":
|
|
749
|
+
break;
|
|
750
|
+
case "X":
|
|
751
|
+
n[a].v = "", n[a].t = ";";
|
|
752
|
+
break;
|
|
753
|
+
case "d":
|
|
754
|
+
case "m":
|
|
755
|
+
case "y":
|
|
756
|
+
case "h":
|
|
757
|
+
case "H":
|
|
758
|
+
case "M":
|
|
759
|
+
case "s":
|
|
760
|
+
case "e":
|
|
761
|
+
case "b":
|
|
762
|
+
case "Z":
|
|
763
|
+
n[a].v = Fe(n[a].t.charCodeAt(0), n[a].v, h, U), n[a].t = "t";
|
|
764
|
+
break;
|
|
765
|
+
case "n":
|
|
766
|
+
case "?":
|
|
767
|
+
for (v = a + 1; n[v] != null && ((l = n[v].t) === "?" || l === "D" || (l === " " || l === "t") && n[v + 1] != null && (n[v + 1].t === "?" || n[v + 1].t === "t" && n[v + 1].v === "/") || n[a].t === "(" && (l === " " || l === "n" || l === ")") || l === "t" && (n[v].v === "/" || n[v].v === " " && n[v + 1] != null && n[v + 1].t == "?")); )
|
|
768
|
+
n[a].v += n[v].v, n[v] = { v: "", t: ";" }, ++v;
|
|
769
|
+
ae += n[a].v, a = v - 1;
|
|
770
|
+
break;
|
|
771
|
+
case "G":
|
|
772
|
+
n[a].t = "t", n[a].v = me(t, e);
|
|
773
|
+
break;
|
|
774
|
+
}
|
|
775
|
+
var f = "", i, o;
|
|
776
|
+
if (ae.length > 0) {
|
|
777
|
+
ae.charCodeAt(0) == 40 ? (i = t < 0 && ae.charCodeAt(0) === 45 ? -t : t, o = X("n", ae, i)) : (i = t < 0 && b > 1 ? -t : t, o = X("n", ae, i), i < 0 && n[0] && n[0].t == "t" && (o = o.substr(1), n[0].v = "-" + n[0].v)), v = o.length - 1;
|
|
778
|
+
var x = n.length;
|
|
779
|
+
for (a = 0; a < n.length; ++a) if (n[a] != null && n[a].t != "t" && n[a].v.indexOf(".") > -1) {
|
|
780
|
+
x = a;
|
|
781
|
+
break;
|
|
782
|
+
}
|
|
783
|
+
var c = n.length;
|
|
784
|
+
if (x === n.length && o.indexOf("E") === -1) {
|
|
785
|
+
for (a = n.length - 1; a >= 0; --a)
|
|
786
|
+
n[a] == null || "n?".indexOf(n[a].t) === -1 || (v >= n[a].v.length - 1 ? (v -= n[a].v.length, n[a].v = o.substr(v + 1, n[a].v.length)) : v < 0 ? n[a].v = "" : (n[a].v = o.substr(0, v + 1), v = -1), n[a].t = "t", c = a);
|
|
787
|
+
v >= 0 && c < n.length && (n[c].v = o.substr(0, v + 1) + n[c].v);
|
|
788
|
+
} else if (x !== n.length && o.indexOf("E") === -1) {
|
|
789
|
+
for (v = o.indexOf(".") - 1, a = x; a >= 0; --a)
|
|
790
|
+
if (!(n[a] == null || "n?".indexOf(n[a].t) === -1)) {
|
|
791
|
+
for (m = n[a].v.indexOf(".") > -1 && a === x ? n[a].v.indexOf(".") - 1 : n[a].v.length - 1, f = n[a].v.substr(m + 1); m >= 0; --m)
|
|
792
|
+
v >= 0 && (n[a].v.charAt(m) === "0" || n[a].v.charAt(m) === "#") && (f = o.charAt(v--) + f);
|
|
793
|
+
n[a].v = f, n[a].t = "t", c = a;
|
|
794
|
+
}
|
|
795
|
+
for (v >= 0 && c < n.length && (n[c].v = o.substr(0, v + 1) + n[c].v), v = o.indexOf(".") + 1, a = x; a < n.length; ++a)
|
|
796
|
+
if (!(n[a] == null || "n?(".indexOf(n[a].t) === -1 && a !== x)) {
|
|
797
|
+
for (m = n[a].v.indexOf(".") > -1 && a === x ? n[a].v.indexOf(".") + 1 : 0, f = n[a].v.substr(0, m); m < n[a].v.length; ++m)
|
|
798
|
+
v < o.length && (f += o.charAt(v++));
|
|
799
|
+
n[a].v = f, n[a].t = "t", c = a;
|
|
800
|
+
}
|
|
801
|
+
}
|
|
802
|
+
}
|
|
803
|
+
for (a = 0; a < n.length; ++a) n[a] != null && "n?".indexOf(n[a].t) > -1 && (i = b > 1 && t < 0 && a > 0 && n[a - 1].v === "-" ? -t : t, n[a].v = X(n[a].t, n[a].v, i), n[a].t = "t");
|
|
804
|
+
var s = "";
|
|
805
|
+
for (a = 0; a !== n.length; ++a) n[a] != null && (s += n[a].v);
|
|
806
|
+
return s;
|
|
807
|
+
}
|
|
808
|
+
w._eval = z;
|
|
809
|
+
var re = /\[[=<>]/, Z = /\[(=|>[=]?|<[>=]?)(-?\d+(?:\.\d*)?)\]/;
|
|
810
|
+
function ge(r, t) {
|
|
811
|
+
if (t == null) return !1;
|
|
812
|
+
var e = parseFloat(t[2]);
|
|
813
|
+
switch (t[1]) {
|
|
814
|
+
case "=":
|
|
815
|
+
if (r == e) return !0;
|
|
816
|
+
break;
|
|
817
|
+
case ">":
|
|
818
|
+
if (r > e) return !0;
|
|
819
|
+
break;
|
|
820
|
+
case "<":
|
|
821
|
+
if (r < e) return !0;
|
|
822
|
+
break;
|
|
823
|
+
case "<>":
|
|
824
|
+
if (r != e) return !0;
|
|
825
|
+
break;
|
|
826
|
+
case ">=":
|
|
827
|
+
if (r >= e) return !0;
|
|
828
|
+
break;
|
|
829
|
+
case "<=":
|
|
830
|
+
if (r <= e) return !0;
|
|
831
|
+
break;
|
|
832
|
+
}
|
|
833
|
+
return !1;
|
|
834
|
+
}
|
|
835
|
+
function ce(r, t) {
|
|
836
|
+
var e = ye(r), b = e.length, n = e[b - 1].indexOf("@");
|
|
837
|
+
if (b < 4 && n > -1 && --b, e.length > 4) throw new Error("cannot find right format for |" + e.join("|") + "|");
|
|
838
|
+
if (typeof t != "number") return [4, e.length === 4 || n > -1 ? e[e.length - 1] : "@"];
|
|
839
|
+
switch (e.length) {
|
|
840
|
+
case 1:
|
|
841
|
+
e = n > -1 ? ["General", "General", "General", e[0]] : [e[0], e[0], e[0], "@"];
|
|
842
|
+
break;
|
|
843
|
+
case 2:
|
|
844
|
+
e = n > -1 ? [e[0], e[0], e[0], e[1]] : [e[0], e[1], e[0], "@"];
|
|
845
|
+
break;
|
|
846
|
+
case 3:
|
|
847
|
+
e = n > -1 ? [e[0], e[1], e[0], e[2]] : [e[0], e[1], e[2], "@"];
|
|
848
|
+
break;
|
|
849
|
+
}
|
|
850
|
+
var p = t > 0 ? e[0] : t < 0 ? e[1] : e[2];
|
|
851
|
+
if (e[0].indexOf("[") === -1 && e[1].indexOf("[") === -1) return [b, p];
|
|
852
|
+
if (e[0].match(re) != null || e[1].match(re) != null) {
|
|
853
|
+
var a = e[0].match(Z), l = e[1].match(Z);
|
|
854
|
+
return ge(t, a) ? [b, e[0]] : ge(t, l) ? [b, e[1]] : [b, e[a != null && l != null ? 2 : 1]];
|
|
855
|
+
}
|
|
856
|
+
return [b, p];
|
|
857
|
+
}
|
|
858
|
+
function ne(r, t, e) {
|
|
859
|
+
e == null && (e = {});
|
|
860
|
+
var b = "";
|
|
861
|
+
switch (typeof r) {
|
|
862
|
+
case "string":
|
|
863
|
+
r == "m/d/yy" && e.dateNF ? b = e.dateNF : b = r;
|
|
864
|
+
break;
|
|
865
|
+
case "number":
|
|
866
|
+
r == 14 && e.dateNF ? b = e.dateNF : b = (e.table != null ? e.table : te)[r], b == null && (b = e.table && e.table[G[r]] || te[G[r]]), b == null && (b = I[r] || "General");
|
|
867
|
+
break;
|
|
868
|
+
}
|
|
869
|
+
if (se(b, 0)) return me(t, e);
|
|
870
|
+
t instanceof Date && (t = Ne(t, e.date1904));
|
|
871
|
+
var n = ce(b, t);
|
|
872
|
+
if (se(n[1])) return me(t, e);
|
|
873
|
+
if (t === !0) t = "TRUE";
|
|
874
|
+
else if (t === !1) t = "FALSE";
|
|
875
|
+
else if (t === "" || t == null) return "";
|
|
876
|
+
return z(n[1], t, e, n[0]);
|
|
877
|
+
}
|
|
878
|
+
function xe(r, t) {
|
|
879
|
+
if (typeof t != "number") {
|
|
880
|
+
t = +t || -1;
|
|
881
|
+
for (var e = 0; e < 392; ++e) {
|
|
882
|
+
if (te[e] == null) {
|
|
883
|
+
t < 0 && (t = e);
|
|
884
|
+
continue;
|
|
885
|
+
}
|
|
886
|
+
if (te[e] == r) {
|
|
887
|
+
t = e;
|
|
888
|
+
break;
|
|
889
|
+
}
|
|
890
|
+
}
|
|
891
|
+
t < 0 && (t = 391);
|
|
892
|
+
}
|
|
893
|
+
return te[t] = r, t;
|
|
894
|
+
}
|
|
895
|
+
w.load = xe, w._table = te, w.get_table = function() {
|
|
896
|
+
return te;
|
|
897
|
+
}, w.load_table = function(t) {
|
|
898
|
+
for (var e = 0; e != 392; ++e)
|
|
899
|
+
t[e] !== void 0 && xe(t[e], e);
|
|
900
|
+
}, w.init_table = Oe, w.format = ne;
|
|
901
|
+
};
|
|
902
|
+
d(u), typeof DO_NOT_EXPORT_SSF > "u" && (_.exports = u);
|
|
903
|
+
})(We);
|
|
904
|
+
var Qe = We.exports;
|
|
905
|
+
const Ve = /* @__PURE__ */ Ue(Qe), Ke = (_) => _.replace(/\.[^.]+$/, ""), Le = [
|
|
906
|
+
"228, 232, 237",
|
|
907
|
+
// Light Gray
|
|
908
|
+
"219, 233, 236",
|
|
909
|
+
// White
|
|
910
|
+
"244, 217, 227",
|
|
911
|
+
// Pink
|
|
912
|
+
"247, 229, 207",
|
|
913
|
+
// Peach
|
|
914
|
+
"217, 234, 244",
|
|
915
|
+
// Blue
|
|
916
|
+
"222, 239, 222",
|
|
917
|
+
// Green
|
|
918
|
+
"239, 239, 239",
|
|
919
|
+
// Light Green
|
|
920
|
+
"244, 230, 230",
|
|
921
|
+
// Rose
|
|
922
|
+
"247, 239, 217",
|
|
923
|
+
// Yellow
|
|
924
|
+
"230, 230, 244",
|
|
925
|
+
// Purple
|
|
926
|
+
"217, 244, 244",
|
|
927
|
+
// Cyan
|
|
928
|
+
"244, 239, 234"
|
|
929
|
+
// Cream
|
|
930
|
+
], je = Le[0], et = [
|
|
931
|
+
["true", "false"],
|
|
932
|
+
["yes", "no"],
|
|
933
|
+
["1", "0"]
|
|
934
|
+
];
|
|
935
|
+
function tt(_, u) {
|
|
936
|
+
const d = _.toLowerCase(), k = u.toLowerCase();
|
|
937
|
+
return et.some(([w, C]) => d === w && k === C);
|
|
938
|
+
}
|
|
939
|
+
const rt = 200;
|
|
940
|
+
function nt(_) {
|
|
941
|
+
if (!Array.isArray(_) || _.length === 0) return null;
|
|
942
|
+
const u = _.map((k) => String((k == null ? void 0 : k.v) ?? "")).join("");
|
|
943
|
+
return u.trim() ? u : null;
|
|
944
|
+
}
|
|
945
|
+
function at(_) {
|
|
946
|
+
return _ ? "TRUE" : "FALSE";
|
|
947
|
+
}
|
|
948
|
+
function it(_) {
|
|
949
|
+
let u = !1, d = 0;
|
|
950
|
+
const k = () => {
|
|
951
|
+
if (u) return !0;
|
|
952
|
+
const C = _.current;
|
|
953
|
+
if (!(C != null && C.getWorkbookContext) || !C.recalculateAllFormulas) return !1;
|
|
954
|
+
const $ = C.getWorkbookContext(), T = $ == null ? void 0 : $.luckysheetfile;
|
|
955
|
+
return !(T != null && T.length) || !T.some(
|
|
956
|
+
(B) => Array.isArray(B.data) && B.data.length > 0
|
|
957
|
+
) ? !1 : (C.recalculateAllFormulas(), u = !0, !0);
|
|
958
|
+
}, w = () => {
|
|
959
|
+
var C, $;
|
|
960
|
+
k() || (d += 1, d < rt ? requestAnimationFrame(w) : (($ = (C = _.current) == null ? void 0 : C.recalculateAllFormulas) == null || $.call(C), u = !0));
|
|
961
|
+
};
|
|
962
|
+
requestAnimationFrame(() => requestAnimationFrame(w));
|
|
963
|
+
for (const C of [120, 400, 1200])
|
|
964
|
+
window.setTimeout(() => {
|
|
965
|
+
u || k();
|
|
966
|
+
}, C);
|
|
967
|
+
}
|
|
968
|
+
function ot(_) {
|
|
969
|
+
return _ <= 0 ? je : _ > Le.length ? Array(_).fill(je).join(", ") : Le.slice(0, _).join(", ");
|
|
970
|
+
}
|
|
971
|
+
function He(_) {
|
|
972
|
+
const u = _.match(/^([A-Z]+)(\d+)$/i);
|
|
973
|
+
if (!u) return null;
|
|
974
|
+
const d = u[1].toUpperCase(), k = u[2];
|
|
975
|
+
let w = 0;
|
|
976
|
+
for (let T = 0; T < d.length; T++)
|
|
977
|
+
w = w * 26 + (d.charCodeAt(T) - 64);
|
|
978
|
+
const C = parseInt(k, 10) - 1, $ = w - 1;
|
|
979
|
+
return { row: C, col: $ };
|
|
980
|
+
}
|
|
981
|
+
function ct(_, u) {
|
|
982
|
+
const d = He(_);
|
|
983
|
+
if (!d) return null;
|
|
984
|
+
const { row: k, col: w } = d, C = `${k}_${w}`, $ = Array.isArray(u.formulae) && u.formulae.length > 0 ? String(u.formulae[0]).replace(/^["']|["']$/g, "").replace(/["']/g, "") : "", T = $.split(",").map((se) => se.trim()).filter(Boolean);
|
|
985
|
+
let V = u.type === "list" ? "dropdown" : u.type || "dropdown", B = $, q = "";
|
|
986
|
+
u.type === "list" && T.length === 2 && tt(T[0], T[1]) && (V = "checkbox", B = T[0], q = T[1]);
|
|
987
|
+
const oe = V === "checkbox" ? 1 : B ? B.split(",").length : 0, fe = ot(oe || 1), ie = {
|
|
988
|
+
type: V,
|
|
989
|
+
type2: "",
|
|
990
|
+
rangeTxt: _,
|
|
991
|
+
value1: B,
|
|
992
|
+
value2: q,
|
|
993
|
+
validity: "",
|
|
994
|
+
remote: !1,
|
|
995
|
+
prohibitInput: u.type === "list",
|
|
996
|
+
hintShow: !!u.showInputMessage,
|
|
997
|
+
hintValue: u.prompt ?? "",
|
|
998
|
+
color: fe,
|
|
999
|
+
checked: !1
|
|
1000
|
+
};
|
|
1001
|
+
return { rowColKey: C, entry: ie };
|
|
1002
|
+
}
|
|
1003
|
+
function lt(_) {
|
|
1004
|
+
const u = _.split(":"), d = He(u[0].trim());
|
|
1005
|
+
if (!d) return null;
|
|
1006
|
+
const k = u.length > 1 ? He(u[1].trim()) : d;
|
|
1007
|
+
return k ? {
|
|
1008
|
+
row: [Math.min(d.row, k.row), Math.max(d.row, k.row)],
|
|
1009
|
+
column: [Math.min(d.col, k.col), Math.max(d.col, k.col)]
|
|
1010
|
+
} : null;
|
|
1011
|
+
}
|
|
1012
|
+
function st(_) {
|
|
1013
|
+
return String(_ || "").split(/[,\s]+/).map((u) => u.trim()).filter(Boolean).map((u) => lt(u)).filter(
|
|
1014
|
+
(u) => !!u
|
|
1015
|
+
);
|
|
1016
|
+
}
|
|
1017
|
+
function Ye(_) {
|
|
1018
|
+
const u = st(_);
|
|
1019
|
+
return u.length ? u.map((d) => {
|
|
1020
|
+
const [k, w] = d.row, [C, $] = d.column;
|
|
1021
|
+
return {
|
|
1022
|
+
left: 0,
|
|
1023
|
+
width: 104,
|
|
1024
|
+
top: 0,
|
|
1025
|
+
height: 23,
|
|
1026
|
+
left_move: 0,
|
|
1027
|
+
width_move: 104,
|
|
1028
|
+
top_move: 0,
|
|
1029
|
+
height_move: 11999,
|
|
1030
|
+
row: [k, w],
|
|
1031
|
+
column: [C, $],
|
|
1032
|
+
row_focus: k,
|
|
1033
|
+
column_focus: C,
|
|
1034
|
+
column_select: !0
|
|
1035
|
+
};
|
|
1036
|
+
}) : null;
|
|
1037
|
+
}
|
|
1038
|
+
function Ge(_) {
|
|
1039
|
+
var $, T;
|
|
1040
|
+
const u = {
|
|
1041
|
+
textColor: "#000000",
|
|
1042
|
+
cellColor: "#ffffff",
|
|
1043
|
+
bold: !1,
|
|
1044
|
+
italic: !1,
|
|
1045
|
+
underline: !1,
|
|
1046
|
+
strikethrough: !1
|
|
1047
|
+
};
|
|
1048
|
+
if (!_) return u;
|
|
1049
|
+
const d = _.font, k = _.fill;
|
|
1050
|
+
let w = u.textColor, C = u.cellColor;
|
|
1051
|
+
if (($ = d == null ? void 0 : d.color) != null && $.argb) {
|
|
1052
|
+
const V = d.color.argb;
|
|
1053
|
+
w = "#" + (V.length >= 6 ? V.slice(-6) : V);
|
|
1054
|
+
}
|
|
1055
|
+
if ((k == null ? void 0 : k.type) === "pattern" && k.pattern === "solid" && ((T = k.fgColor) != null && T.argb)) {
|
|
1056
|
+
const V = k.fgColor.argb;
|
|
1057
|
+
C = "#" + (V.length >= 6 ? V.slice(-6) : V);
|
|
1058
|
+
}
|
|
1059
|
+
return {
|
|
1060
|
+
textColor: w,
|
|
1061
|
+
cellColor: C,
|
|
1062
|
+
bold: !!(d != null && d.bold),
|
|
1063
|
+
italic: !!(d != null && d.italic),
|
|
1064
|
+
underline: !!(d != null && d.underline),
|
|
1065
|
+
strikethrough: !1
|
|
1066
|
+
};
|
|
1067
|
+
}
|
|
1068
|
+
function Ie(_) {
|
|
1069
|
+
if (!_ || typeof _ != "string") return "";
|
|
1070
|
+
const u = _.trim().replace(/"/g, '"').replace(/'/g, "'").replace(/&/g, "&").replace(/^=/, ""), d = u.match(/(?:^|[^A-Z])SEARCH\s*\([\s(]*"((?:[^"]|"")*)"/i);
|
|
1071
|
+
if (d) return (d[1] ?? "").replace(/""/g, '"');
|
|
1072
|
+
const k = u.match(/(?:^|[^A-Z])SEARCH\s*\([\s(]*'([^']*)'/i);
|
|
1073
|
+
return k ? k[1] ?? "" : "";
|
|
1074
|
+
}
|
|
1075
|
+
function Pe(_) {
|
|
1076
|
+
if (!_ || typeof _ != "string") return "";
|
|
1077
|
+
const u = _.trim().replace(/"/g, '"').replace(/'/g, "'").replace(/^=/, ""), d = u.match(/"((?:[^"]|"")*)"/);
|
|
1078
|
+
if (d) return (d[1] ?? "").replace(/""/g, '"');
|
|
1079
|
+
const k = u.match(/'([^']*)'/);
|
|
1080
|
+
return k ? k[1] ?? "" : "";
|
|
1081
|
+
}
|
|
1082
|
+
function ut(_) {
|
|
1083
|
+
if (!_ || typeof _ != "string") return null;
|
|
1084
|
+
const u = _.trim().toUpperCase(), d = Ie(_) || Pe(_);
|
|
1085
|
+
return d ? u.includes("SEARCH(") ? u.includes("ISERROR(SEARCH(") || u.includes("NOTNUMBER(SEARCH(") ? { conditionName: "textDoesNotContain", conditionValue: [d] } : { conditionName: "textContains", conditionValue: [d] } : u.includes("LEFT(") ? { conditionName: "textStartsWith", conditionValue: [d] } : u.includes("RIGHT(") ? { conditionName: "textEndsWith", conditionValue: [d] } : u.includes("EXACT(") || u.includes('="') ? { conditionName: "textExactly", conditionValue: [d] } : null : null;
|
|
1086
|
+
}
|
|
1087
|
+
function ht(_, u, d) {
|
|
1088
|
+
const k = (_ || "").toLowerCase();
|
|
1089
|
+
if (k === "cellis") {
|
|
1090
|
+
const w = (u || "").toLowerCase();
|
|
1091
|
+
return w === "greaterthan" ? { conditionName: "greaterThan", conditionValue: [] } : w === "greaterthanorequal" ? { conditionName: "greaterThanOrEqual", conditionValue: [] } : w === "lessthan" ? { conditionName: "lessThan", conditionValue: [] } : w === "lessthanorequal" ? { conditionName: "lessThanOrEqual", conditionValue: [] } : w === "equal" ? { conditionName: "equal", conditionValue: [] } : w === "notequal" ? { conditionName: "notEqual", conditionValue: [] } : w === "between" ? { conditionName: "between", conditionValue: [] } : w === "notbetween" ? { conditionName: "notBetween", conditionValue: [] } : null;
|
|
1092
|
+
}
|
|
1093
|
+
if (k === "containstext" || k === "notcontainstext" || k === "beginswith" || k === "endswith" || k === "containsblanks" || k === "notcontainsblanks") {
|
|
1094
|
+
const w = (u ?? "").toLowerCase();
|
|
1095
|
+
if (k === "containsblanks" || w === "containsblanks")
|
|
1096
|
+
return { conditionName: "empty", conditionValue: [""] };
|
|
1097
|
+
if (k === "notcontainsblanks" || w === "notcontainsblanks")
|
|
1098
|
+
return { conditionName: "notEmpty", conditionValue: [""] };
|
|
1099
|
+
if (k === "notcontainstext" || w === "notcontainstext" || w === "notcontains")
|
|
1100
|
+
return { conditionName: "textDoesNotContain", conditionValue: [] };
|
|
1101
|
+
if (k === "beginswith" || w === "beginswith")
|
|
1102
|
+
return { conditionName: "textStartsWith", conditionValue: [] };
|
|
1103
|
+
if (k === "endswith" || w === "endswith")
|
|
1104
|
+
return { conditionName: "textEndsWith", conditionValue: [] };
|
|
1105
|
+
if (w === "equal")
|
|
1106
|
+
return { conditionName: "textExactly", conditionValue: [] };
|
|
1107
|
+
const C = (d == null ? void 0 : d.text) ?? "";
|
|
1108
|
+
return {
|
|
1109
|
+
conditionName: "textContains",
|
|
1110
|
+
conditionValue: C ? [C] : []
|
|
1111
|
+
};
|
|
1112
|
+
}
|
|
1113
|
+
if (k === "duplicatevalues")
|
|
1114
|
+
return { conditionName: "duplicateValue", conditionValue: ["0"] };
|
|
1115
|
+
if (k === "uniquevalues")
|
|
1116
|
+
return { conditionName: "duplicateValue", conditionValue: ["1"] };
|
|
1117
|
+
if (k === "top10") {
|
|
1118
|
+
const w = (d == null ? void 0 : d.rank) ?? 10;
|
|
1119
|
+
return d != null && d.percent && (d != null && d.bottom) ? {
|
|
1120
|
+
conditionName: "last10_percent",
|
|
1121
|
+
conditionValue: [String(w)]
|
|
1122
|
+
} : d != null && d.percent ? { conditionName: "top10_percent", conditionValue: [String(w)] } : d != null && d.bottom ? { conditionName: "last10", conditionValue: [String(w)] } : { conditionName: "top10", conditionValue: [String(w)] };
|
|
1123
|
+
}
|
|
1124
|
+
if (k === "aboveaverage")
|
|
1125
|
+
return (d == null ? void 0 : d.aboveAverage) === !1 ? { conditionName: "belowAverage", conditionValue: [] } : { conditionName: "aboveAverage", conditionValue: [] };
|
|
1126
|
+
if (k === "timeperiod") {
|
|
1127
|
+
const w = ((d == null ? void 0 : d.timePeriod) ?? "").toLowerCase();
|
|
1128
|
+
return w === "today" || w === "tomorrow" || w === "yesterday" ? {
|
|
1129
|
+
conditionName: "dateIs",
|
|
1130
|
+
conditionValue: [`preset:${w}`, "", "DD/MM/YYYY"]
|
|
1131
|
+
} : w === "last7days" ? {
|
|
1132
|
+
conditionName: "dateIs",
|
|
1133
|
+
conditionValue: ["preset:pastWeek", "", "DD/MM/YYYY"]
|
|
1134
|
+
} : w === "lastmonth" ? {
|
|
1135
|
+
conditionName: "dateIs",
|
|
1136
|
+
conditionValue: ["preset:pastMonth", "", "DD/MM/YYYY"]
|
|
1137
|
+
} : w === "lastyear" ? {
|
|
1138
|
+
conditionName: "dateIs",
|
|
1139
|
+
conditionValue: ["preset:pastYear", "", "DD/MM/YYYY"]
|
|
1140
|
+
} : null;
|
|
1141
|
+
}
|
|
1142
|
+
return null;
|
|
1143
|
+
}
|
|
1144
|
+
function ft(_, u) {
|
|
1145
|
+
if (!u.type) return null;
|
|
1146
|
+
let d = (u.text ?? "").trim();
|
|
1147
|
+
const k = Array.isArray(u.formulae) && u.formulae[0] ? String(u.formulae[0]) : void 0, w = (u.type.toLowerCase() === "expression" || u.type.toLowerCase() === "customformula") && ut(k);
|
|
1148
|
+
if (w) {
|
|
1149
|
+
const B = Ye(_);
|
|
1150
|
+
if (!B) return null;
|
|
1151
|
+
const q = Ge(u.style);
|
|
1152
|
+
return {
|
|
1153
|
+
type: "default",
|
|
1154
|
+
cellrange: B,
|
|
1155
|
+
format: {
|
|
1156
|
+
textColor: q.textColor,
|
|
1157
|
+
cellColor: q.cellColor,
|
|
1158
|
+
bold: q.bold,
|
|
1159
|
+
italic: q.italic,
|
|
1160
|
+
underline: q.underline,
|
|
1161
|
+
strikethrough: q.strikethrough
|
|
1162
|
+
},
|
|
1163
|
+
conditionName: w.conditionName,
|
|
1164
|
+
conditionRange: [],
|
|
1165
|
+
conditionValue: w.conditionValue
|
|
1166
|
+
};
|
|
1167
|
+
}
|
|
1168
|
+
(u.type === "containsText" || u.type === "notContainsText" || u.type === "beginsWith" || u.type === "endsWith") && !d && (d = Ie(k), d || (d = Pe(k)));
|
|
1169
|
+
const C = ht(u.type, u.operator, {
|
|
1170
|
+
percent: u.percent,
|
|
1171
|
+
bottom: u.bottom,
|
|
1172
|
+
rank: u.rank,
|
|
1173
|
+
aboveAverage: u.aboveAverage,
|
|
1174
|
+
text: d || u.text,
|
|
1175
|
+
timePeriod: u.timePeriod
|
|
1176
|
+
});
|
|
1177
|
+
if (!C) return null;
|
|
1178
|
+
let $;
|
|
1179
|
+
u.type === "cellIs" && Array.isArray(u.formulae) && u.formulae.length > 0 ? $ = u.formulae.map((B) => String(B ?? "")) : C.conditionName === "empty" || C.conditionName === "notEmpty" ? $ = [""] : u.type === "containsText" || u.type === "notContainsText" || u.type === "beginsWith" || u.type === "endsWith" ? $ = d ? [d] : Pe(k) ? [Pe(k)] : [] : $ = C.conditionValue.map(
|
|
1180
|
+
(B) => B == null ? "" : String(B)
|
|
1181
|
+
);
|
|
1182
|
+
const T = Ye(_);
|
|
1183
|
+
if (!T) return null;
|
|
1184
|
+
const V = Ge(u.style);
|
|
1185
|
+
return {
|
|
1186
|
+
type: "default",
|
|
1187
|
+
cellrange: T,
|
|
1188
|
+
format: {
|
|
1189
|
+
textColor: V.textColor,
|
|
1190
|
+
cellColor: V.cellColor,
|
|
1191
|
+
bold: V.bold,
|
|
1192
|
+
italic: V.italic,
|
|
1193
|
+
underline: V.underline,
|
|
1194
|
+
strikethrough: V.strikethrough
|
|
1195
|
+
},
|
|
1196
|
+
conditionName: C.conditionName,
|
|
1197
|
+
conditionRange: [],
|
|
1198
|
+
conditionValue: $
|
|
1199
|
+
};
|
|
1200
|
+
}
|
|
1201
|
+
async function mt({
|
|
1202
|
+
sheetEditorRef: _,
|
|
1203
|
+
ydocRef: u,
|
|
1204
|
+
setForceSheetRender: d,
|
|
1205
|
+
dsheetId: k,
|
|
1206
|
+
currentDataRef: w,
|
|
1207
|
+
updateDocumentTitle: C,
|
|
1208
|
+
filterToastShown: $,
|
|
1209
|
+
setFilterToastShown: T
|
|
1210
|
+
}, V, B, q) {
|
|
1211
|
+
var ve, we;
|
|
1212
|
+
const oe = V == null ? void 0 : V.target;
|
|
1213
|
+
if (!((ve = oe == null ? void 0 : oe.files) != null && ve.length) && !B)
|
|
1214
|
+
return Promise.resolve();
|
|
1215
|
+
const fe = ((we = oe == null ? void 0 : oe.files) == null ? void 0 : we[0]) || B, ie = {}, se = {};
|
|
1216
|
+
return new Promise((Oe, te) => {
|
|
1217
|
+
const G = new FileReader();
|
|
1218
|
+
G.onerror = () => te(new Error("Failed to read file")), G.onload = async (M) => {
|
|
1219
|
+
var Ce, me, Te, Fe;
|
|
1220
|
+
if (!M.target) {
|
|
1221
|
+
console.error("FileReader event target is null"), te(new Error("FileReader event target is null"));
|
|
1222
|
+
return;
|
|
1223
|
+
}
|
|
1224
|
+
const I = M.target.result, [{ Workbook: ke }, pe, Se] = await Promise.all([
|
|
1225
|
+
import("exceljs"),
|
|
1226
|
+
// @ts-expect-error — luckyexcel ships without TypeScript types
|
|
1227
|
+
import("luckyexcel"),
|
|
1228
|
+
import("./xlsx-image-utils-Cvg0qxRA.js")
|
|
1229
|
+
]), De = pe.default.transformExcelToLucky, { extractImagesFromWorksheet: Re, convertRawImagesToFortuneSheet: Ne } = Se, _e = new ke();
|
|
1230
|
+
try {
|
|
1231
|
+
await _e.xlsx.load(I);
|
|
1232
|
+
const Q = (Fe = (Te = (me = (Ce = _e.model) == null ? void 0 : Ce.styles) == null ? void 0 : me.fonts) == null ? void 0 : Te[0]) == null ? void 0 : Fe.size, X = {}, ye = {}, Ee = {}, Ae = {};
|
|
1233
|
+
_e.eachSheet((z, re) => {
|
|
1234
|
+
var n;
|
|
1235
|
+
const Z = re - 1, ge = {}, ce = z.views;
|
|
1236
|
+
if (ce && ce.length > 0) {
|
|
1237
|
+
const p = ce[0];
|
|
1238
|
+
if (p.state === "frozen") {
|
|
1239
|
+
const a = p.xSplit || 0, l = p.ySplit || 0;
|
|
1240
|
+
let y = null;
|
|
1241
|
+
a > 0 && l > 0 ? y = "rangeBoth" : l > 0 ? y = "rangeRow" : a > 0 && (y = "rangeColumn"), y && (ye[Z] = {
|
|
1242
|
+
type: y,
|
|
1243
|
+
range: {
|
|
1244
|
+
row_focus: l - 1,
|
|
1245
|
+
column_focus: a - 1
|
|
1246
|
+
}
|
|
1247
|
+
});
|
|
1248
|
+
}
|
|
1249
|
+
}
|
|
1250
|
+
const ne = {};
|
|
1251
|
+
z.eachRow({ includeEmpty: !1 }, (p, a) => {
|
|
1252
|
+
p.eachCell({ includeEmpty: !1 }, (l, y) => {
|
|
1253
|
+
var K, ue, Y;
|
|
1254
|
+
const h = `${a - 1}_${y - 1}`;
|
|
1255
|
+
l.hyperlink && (ge[h] = [
|
|
1256
|
+
{
|
|
1257
|
+
linkType: "webpage",
|
|
1258
|
+
linkAddress: l.hyperlink
|
|
1259
|
+
}
|
|
1260
|
+
]);
|
|
1261
|
+
const m = (K = l.style) == null ? void 0 : K.font, A = (ue = l.style) == null ? void 0 : ue.fill, R = {};
|
|
1262
|
+
if (m) {
|
|
1263
|
+
m.bold && (R.bl = 1), m.italic && (R.it = 1), m.underline && (R.un = 1);
|
|
1264
|
+
const S = m.size ?? Q;
|
|
1265
|
+
if (S && (R.fs = S), m.name && (R.ff = m.name), (Y = m.color) != null && Y.argb) {
|
|
1266
|
+
const U = m.color.argb, he = "#" + U.substring(U.length - 6);
|
|
1267
|
+
R.fc = he;
|
|
1268
|
+
}
|
|
1269
|
+
}
|
|
1270
|
+
if ((A == null ? void 0 : A.type) === "pattern" && A.pattern === "solid" && A.fgColor && A.fgColor.argb) {
|
|
1271
|
+
const S = A.fgColor.argb, U = "#" + S.substring(S.length - 6);
|
|
1272
|
+
R.bg = U;
|
|
1273
|
+
}
|
|
1274
|
+
Object.keys(R).length > 0 && (ne[h] = R);
|
|
1275
|
+
});
|
|
1276
|
+
}), Object.keys(ge).length > 0 && (X[Z] = ge), Object.keys(ne).length > 0 && (Ee[Z] = ne);
|
|
1277
|
+
const xe = Re(z, _e);
|
|
1278
|
+
xe.length > 0 && (Ae[Z] = xe);
|
|
1279
|
+
const r = z.tables;
|
|
1280
|
+
r && Object.keys(r).length > 0 && Be({
|
|
1281
|
+
title: "Tables are not fully supported",
|
|
1282
|
+
description: "Table styles will not be applied",
|
|
1283
|
+
variant: "warning",
|
|
1284
|
+
showCloseButton: !0,
|
|
1285
|
+
duration: 40 * 1e3
|
|
1286
|
+
});
|
|
1287
|
+
const t = (n = z.dataValidations) == null ? void 0 : n.model;
|
|
1288
|
+
if (t && typeof t == "object") {
|
|
1289
|
+
const p = {};
|
|
1290
|
+
for (const [a, l] of Object.entries(t)) {
|
|
1291
|
+
const h = ct(a, l);
|
|
1292
|
+
h && (p[h.rowColKey] = h.entry);
|
|
1293
|
+
}
|
|
1294
|
+
Object.keys(p).length > 0 && (ie[Z] = p);
|
|
1295
|
+
}
|
|
1296
|
+
const e = z.conditionalFormattings;
|
|
1297
|
+
if (Array.isArray(e) && e.length > 0) {
|
|
1298
|
+
const p = [];
|
|
1299
|
+
for (const a of e) {
|
|
1300
|
+
const l = a.ref, y = a.rules || [];
|
|
1301
|
+
for (const h of y) {
|
|
1302
|
+
const m = h;
|
|
1303
|
+
console.log("[XLSX CF RAW]", {
|
|
1304
|
+
ref: l,
|
|
1305
|
+
type: m.type,
|
|
1306
|
+
operator: m.operator,
|
|
1307
|
+
formulae: m.formulae,
|
|
1308
|
+
text: m.text,
|
|
1309
|
+
timePeriod: m.timePeriod,
|
|
1310
|
+
percent: m.percent,
|
|
1311
|
+
bottom: m.bottom,
|
|
1312
|
+
rank: m.rank,
|
|
1313
|
+
aboveAverage: m.aboveAverage
|
|
1314
|
+
});
|
|
1315
|
+
const A = m.type ? ft(l, m) : null;
|
|
1316
|
+
A ? console.log("[XLSX CF MAPPED] accepted", A) : console.log("[XLSX CF MAPPED] skipped", {
|
|
1317
|
+
ref: l,
|
|
1318
|
+
type: m.type,
|
|
1319
|
+
operator: m.operator,
|
|
1320
|
+
formulae: m.formulae,
|
|
1321
|
+
text: m.text
|
|
1322
|
+
}), A && p.push(A);
|
|
1323
|
+
}
|
|
1324
|
+
}
|
|
1325
|
+
p.length > 0 && (se[Z] = p);
|
|
1326
|
+
}
|
|
1327
|
+
z.autoFilter && ($ || (T(!0), Be({
|
|
1328
|
+
title: "Filters are not supported in imported files",
|
|
1329
|
+
variant: "warning",
|
|
1330
|
+
showCloseButton: !0,
|
|
1331
|
+
duration: 30 * 1e3
|
|
1332
|
+
})));
|
|
1333
|
+
}), De(
|
|
1334
|
+
fe,
|
|
1335
|
+
function(z) {
|
|
1336
|
+
var t;
|
|
1337
|
+
let re = z.sheets;
|
|
1338
|
+
if (re.forEach((e, b) => {
|
|
1339
|
+
const n = ie[b];
|
|
1340
|
+
n && Object.keys(n).length > 0 && (e.dataVerification = n);
|
|
1341
|
+
const p = se[b];
|
|
1342
|
+
e.luckysheet_conditionformat_save = Array.isArray(p) && p.length > 0 ? p : [];
|
|
1343
|
+
}), !u.current) {
|
|
1344
|
+
console.error("ydocRef.current is null");
|
|
1345
|
+
return;
|
|
1346
|
+
}
|
|
1347
|
+
const Z = u.current.getArray(k), ge = Array.from(Z), ce = /* @__PURE__ */ new Map();
|
|
1348
|
+
re = re.map((e, b) => {
|
|
1349
|
+
var R, K, ue, Y, S, U, he, ae, v, f, i, o, x, c, s, E, P, L, H, O, de, Me, be;
|
|
1350
|
+
const n = (R = e == null ? void 0 : e.celldata) == null ? void 0 : R[e.celldata.length - 1], p = (n == null ? void 0 : n.r) ?? 0, a = (n == null ? void 0 : n.c) ?? 0;
|
|
1351
|
+
if (e.row = Math.max(p, 500), e.column = Math.max(a, 36), e.id || (e.id = (K = _.current) == null ? void 0 : K.getSettings().generateSheetId()), ye[b] && (e.frozen = ye[b]), X[b] && (e.hyperlink = {
|
|
1352
|
+
...e.hyperlink || {},
|
|
1353
|
+
...X[b]
|
|
1354
|
+
}), (ue = e.config) != null && ue.columnlen) {
|
|
1355
|
+
const g = {};
|
|
1356
|
+
Object.entries(e.config.columnlen).forEach(
|
|
1357
|
+
([N, F]) => {
|
|
1358
|
+
const j = (Number(F) - 5) / 8 + 0.83;
|
|
1359
|
+
g[N] = Math.round(j * 7 + 5);
|
|
1360
|
+
}
|
|
1361
|
+
), e.config.columnlen = g;
|
|
1362
|
+
}
|
|
1363
|
+
if ((Y = e.config) != null && Y.rowlen) {
|
|
1364
|
+
const g = Math.round(
|
|
1365
|
+
Number(e.defaultRowHeight) || 21
|
|
1366
|
+
), N = {};
|
|
1367
|
+
Object.entries(e.config.rowlen).forEach(([F, j]) => {
|
|
1368
|
+
Math.abs(Math.round(Number(j)) - g) > 1 && (N[F] = Number(j));
|
|
1369
|
+
}), e.config.rowlen = N;
|
|
1370
|
+
}
|
|
1371
|
+
if ((S = e.config) != null && S.customHeight) {
|
|
1372
|
+
const g = new Set(
|
|
1373
|
+
Object.keys(e.config.rowlen || {})
|
|
1374
|
+
), N = {};
|
|
1375
|
+
Object.entries(e.config.customHeight).forEach(
|
|
1376
|
+
([F, j]) => {
|
|
1377
|
+
g.has(F) && Number(j) === 1 && (N[F] = 1);
|
|
1378
|
+
}
|
|
1379
|
+
), e.config.customHeight = N;
|
|
1380
|
+
}
|
|
1381
|
+
if (Ae[b]) {
|
|
1382
|
+
const g = Number(e.defaultColWidth) || Number(
|
|
1383
|
+
(ae = (he = (U = _.current) == null ? void 0 : U.getSettings) == null ? void 0 : he.call(U)) == null ? void 0 : ae.defaultColWidth
|
|
1384
|
+
) || 99, N = Number(e.defaultRowHeight) || Number(
|
|
1385
|
+
(i = (f = (v = _.current) == null ? void 0 : v.getSettings) == null ? void 0 : f.call(v)) == null ? void 0 : i.defaultRowHeight
|
|
1386
|
+
) || 21;
|
|
1387
|
+
e.images = Ne(
|
|
1388
|
+
Ae[b],
|
|
1389
|
+
e,
|
|
1390
|
+
g,
|
|
1391
|
+
N
|
|
1392
|
+
);
|
|
1393
|
+
}
|
|
1394
|
+
const l = X[b], y = Ee[b], h = [], m = (g, N) => {
|
|
1395
|
+
const F = `${g}_${N}`;
|
|
1396
|
+
m._seen == null && (m._seen = /* @__PURE__ */ new Set());
|
|
1397
|
+
const j = m._seen;
|
|
1398
|
+
j.has(F) || (j.add(F), h.push({ r: g, c: N, id: e.id }));
|
|
1399
|
+
}, A = (o = e.config) != null && o.merge ? /* @__PURE__ */ new Map() : null;
|
|
1400
|
+
if (e.celldata)
|
|
1401
|
+
for (const g of e.celldata) {
|
|
1402
|
+
const N = `${g.r}_${g.c}`;
|
|
1403
|
+
if (A == null || A.set(
|
|
1404
|
+
N,
|
|
1405
|
+
g
|
|
1406
|
+
), g.v) {
|
|
1407
|
+
if (g.v.f) {
|
|
1408
|
+
const D = String(g.v.f);
|
|
1409
|
+
D.startsWith("=") || (g.v.f = `=${D}`);
|
|
1410
|
+
}
|
|
1411
|
+
if (g.v.f && ((x = g.v.ct) == null ? void 0 : x.t) !== "d" && (g.v.ct = { ...g.v.ct ?? {}, t: "str" }, m(g.r, g.c)), y != null && y[N]) {
|
|
1412
|
+
const D = y[N];
|
|
1413
|
+
if (!!(l != null && l[N])) {
|
|
1414
|
+
const { fc: J, un: $e, ...ze } = D;
|
|
1415
|
+
Object.assign(g.v, ze);
|
|
1416
|
+
} else
|
|
1417
|
+
Object.assign(g.v, D);
|
|
1418
|
+
}
|
|
1419
|
+
if (l != null && l[N] && !g.v.f) {
|
|
1420
|
+
const D = l[N][0];
|
|
1421
|
+
D && Je(
|
|
1422
|
+
g.v,
|
|
1423
|
+
D
|
|
1424
|
+
);
|
|
1425
|
+
}
|
|
1426
|
+
const F = (c = g.v.ct) == null ? void 0 : c.fa, j = typeof F == "string" ? F.trim().toLowerCase() : "", ee = j === "general" || ((s = g.v.ct) == null ? void 0 : s.t) === "g", le = j === "@" || ((E = g.v.ct) == null ? void 0 : E.t) === "s";
|
|
1427
|
+
if (F && !ce.has(F) && ce.set(F, Ve.is_date(F)), !g.v.f && F && ce.get(F)) {
|
|
1428
|
+
const D = typeof g.v.v == "string" ? parseFloat(g.v.v) : g.v.v;
|
|
1429
|
+
if (typeof D == "number" && !isNaN(D))
|
|
1430
|
+
try {
|
|
1431
|
+
g.v.v = D, g.v.m = Ve.format(F, D), g.v.ct = { ...g.v.ct, t: "d" };
|
|
1432
|
+
} catch {
|
|
1433
|
+
}
|
|
1434
|
+
} else if (!g.v.f && typeof g.v.v == "string" && !le && !ee) {
|
|
1435
|
+
const D = g.v.v.trim();
|
|
1436
|
+
if (/^[-+]?(?:\d+\.?\d*|\.\d+)(?:[eE][-+]?\d+)?$/.test(
|
|
1437
|
+
D
|
|
1438
|
+
)) {
|
|
1439
|
+
const J = Number(D);
|
|
1440
|
+
if (!isFinite(J))
|
|
1441
|
+
continue;
|
|
1442
|
+
if (g.v.v = J, g.v.ht == null && (g.v.ht = 2), !F)
|
|
1443
|
+
g.v.m = String(J);
|
|
1444
|
+
else
|
|
1445
|
+
try {
|
|
1446
|
+
g.v.m = Ve.format(F, J);
|
|
1447
|
+
} catch {
|
|
1448
|
+
}
|
|
1449
|
+
}
|
|
1450
|
+
} else !g.v.f && typeof g.v.v == "number" && isFinite(g.v.v) && ((P = g.v.ct) == null ? void 0 : P.t) !== "s" && ((L = g.v.ct) == null ? void 0 : L.t) !== "d" && g.v.ht == null && (g.v.ht = 2);
|
|
1451
|
+
if (!g.v.f && (g.v.m === void 0 || g.v.m === null) && ((H = g.v.ct) == null ? void 0 : H.t) !== "d") {
|
|
1452
|
+
const D = nt((O = g.v.ct) == null ? void 0 : O.s), W = g.v.v;
|
|
1453
|
+
if (!(W == null || String(W).trim() === ""))
|
|
1454
|
+
if (D != null)
|
|
1455
|
+
g.v.m = D;
|
|
1456
|
+
else if (typeof W == "boolean")
|
|
1457
|
+
g.v.m = at(W);
|
|
1458
|
+
else if (typeof W == "number" && isFinite(W)) {
|
|
1459
|
+
const $e = (de = g.v.ct) == null ? void 0 : de.fa;
|
|
1460
|
+
if (typeof $e == "string" && $e && ce.get($e) === !1)
|
|
1461
|
+
try {
|
|
1462
|
+
g.v.m = Ve.format($e, W);
|
|
1463
|
+
} catch {
|
|
1464
|
+
g.v.m = String(W);
|
|
1465
|
+
}
|
|
1466
|
+
else
|
|
1467
|
+
g.v.m = String(W);
|
|
1468
|
+
} else typeof W == "object" || (g.v.m = String(W));
|
|
1469
|
+
}
|
|
1470
|
+
}
|
|
1471
|
+
}
|
|
1472
|
+
if (Array.isArray(e.data)) {
|
|
1473
|
+
const g = e.data;
|
|
1474
|
+
for (let N = 0; N < g.length; N++) {
|
|
1475
|
+
const F = g[N];
|
|
1476
|
+
if (Array.isArray(F))
|
|
1477
|
+
for (let j = 0; j < F.length; j++) {
|
|
1478
|
+
const ee = F[j];
|
|
1479
|
+
if (!ee || typeof ee != "object" || !ee.f) continue;
|
|
1480
|
+
const le = String(ee.f);
|
|
1481
|
+
le.startsWith("=") || (ee.f = `=${le}`), ((Me = ee.ct) == null ? void 0 : Me.t) !== "d" && (ee.ct = { ...ee.ct ?? {}, t: "str" }, m(N, j));
|
|
1482
|
+
}
|
|
1483
|
+
}
|
|
1484
|
+
}
|
|
1485
|
+
if (e.calcChain = h, A && ((be = e.config) != null && be.merge) && e.celldata)
|
|
1486
|
+
for (const g of Object.values(e.config.merge)) {
|
|
1487
|
+
const { r: N, c: F, rs: j, cs: ee } = g;
|
|
1488
|
+
for (let le = 0; le < j; le++)
|
|
1489
|
+
for (let D = 0; D < ee; D++) {
|
|
1490
|
+
const W = `${N + le}_${F + D}`;
|
|
1491
|
+
let J = A.get(W);
|
|
1492
|
+
J || (J = { r: N + le, c: F + D, v: {} }, e.celldata.push(J), A.set(W, J)), J.v || (J.v = {}), J.v.mc = le === 0 && D === 0 ? { r: N, c: F, rs: j, cs: ee } : { r: N, c: F };
|
|
1493
|
+
}
|
|
1494
|
+
}
|
|
1495
|
+
return e;
|
|
1496
|
+
}), console.log("[xlsx-import] parsed sheets data", {
|
|
1497
|
+
fileName: fe.name,
|
|
1498
|
+
sheetCount: re.length,
|
|
1499
|
+
sheets: re
|
|
1500
|
+
});
|
|
1501
|
+
let ne;
|
|
1502
|
+
if (q === "merge-current-dsheet" ? ne = [...ge, ...re] : ne = [...re], ne = ne.map((e, b) => (e.order = b, e)), u.current.transact(() => {
|
|
1503
|
+
q !== "merge-current-dsheet" && Z.delete(0, Z.length), ne.forEach((e) => {
|
|
1504
|
+
if (e instanceof qe.Map) return;
|
|
1505
|
+
const b = Xe(e);
|
|
1506
|
+
Z.push([b()]);
|
|
1507
|
+
});
|
|
1508
|
+
}), u != null && u.current) {
|
|
1509
|
+
const e = u.current.getArray(k), b = Ze(e);
|
|
1510
|
+
w.current = b, d((n) => n + 1);
|
|
1511
|
+
}
|
|
1512
|
+
it(_);
|
|
1513
|
+
const r = Ke((t = z == null ? void 0 : z.info) == null ? void 0 : t.name);
|
|
1514
|
+
C == null || C(r), Oe();
|
|
1515
|
+
}
|
|
1516
|
+
);
|
|
1517
|
+
} catch (Q) {
|
|
1518
|
+
console.error("Error loading the workbook", Q), alert(
|
|
1519
|
+
"Error loading the workbook. Please ensure it is a valid .xlsx file."
|
|
1520
|
+
), te(Q);
|
|
1521
|
+
}
|
|
1522
|
+
}, G.readAsArrayBuffer(fe);
|
|
1523
|
+
});
|
|
1524
|
+
}
|
|
1525
|
+
export {
|
|
1526
|
+
mt as runXlsxFileUpload
|
|
1527
|
+
};
|