@cosmotech/core 1.6.3 → 1.6.7
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/index.cjs.js +132 -29
- package/dist/index.esm.js +132 -29
- package/package.json +1 -1
package/dist/index.cjs.js
CHANGED
|
@@ -11071,7 +11071,7 @@ module.exports = ZStream;
|
|
|
11071
11071
|
/*global global, exports, module, require:false, process:false, Buffer:false, ArrayBuffer:false */
|
|
11072
11072
|
var XLSX = {};
|
|
11073
11073
|
function make_xlsx_lib(XLSX){
|
|
11074
|
-
XLSX.version = '0.17.
|
|
11074
|
+
XLSX.version = '0.17.5';
|
|
11075
11075
|
var current_codepage = 1200, current_ansi = 1252;
|
|
11076
11076
|
/*global cptable:true, window */
|
|
11077
11077
|
if(typeof commonjsRequire !== 'undefined') {
|
|
@@ -14761,7 +14761,8 @@ function safe_decode_range(range) {
|
|
|
14761
14761
|
}
|
|
14762
14762
|
o.s.r = --idx;
|
|
14763
14763
|
|
|
14764
|
-
if(i === len ||
|
|
14764
|
+
if(i === len || cc != 10) { o.e.c=o.s.c; o.e.r=o.s.r; return o; }
|
|
14765
|
+
++i;
|
|
14765
14766
|
|
|
14766
14767
|
for(idx = 0; i != len; ++i) {
|
|
14767
14768
|
if((cc=range.charCodeAt(i)-64) < 1 || cc > 26) break;
|
|
@@ -15802,7 +15803,7 @@ function parse_rels(data, currentFilePath) {
|
|
|
15802
15803
|
var y = parsexmltag(x);
|
|
15803
15804
|
/* 9.3.2.2 OPC_Relationships */
|
|
15804
15805
|
if (y[0] === '<Relationship') {
|
|
15805
|
-
var rel = {}; rel.Type = y.Type; rel.Target = y.Target; rel.Id = y.Id; rel.TargetMode = y.TargetMode;
|
|
15806
|
+
var rel = {}; rel.Type = y.Type; rel.Target = y.Target; rel.Id = y.Id; if(y.TargetMode) rel.TargetMode = y.TargetMode;
|
|
15806
15807
|
var canonictarget = y.TargetMode === 'External' ? y.Target : resolve_path(y.Target, currentFilePath);
|
|
15807
15808
|
rels[canonictarget] = rel;
|
|
15808
15809
|
hash[y.Id] = rel;
|
|
@@ -17604,7 +17605,9 @@ function parse_Lbl(blob, length, opts) {
|
|
|
17604
17605
|
var name = parse_XLUnicodeStringNoCch(blob, cch, opts);
|
|
17605
17606
|
if(flags & 0x20) name = XLSLblBuiltIn[name.charCodeAt(0)];
|
|
17606
17607
|
var npflen = target - blob.l; if(opts && opts.biff == 2) --npflen;
|
|
17608
|
+
/*jshint -W018 */
|
|
17607
17609
|
var rgce = (target == blob.l || cce === 0 || !(npflen > 0)) ? [] : parse_NameParsedFormula(blob, npflen, opts, cce);
|
|
17610
|
+
/*jshint +W018 */
|
|
17608
17611
|
return {
|
|
17609
17612
|
chKey: chKey,
|
|
17610
17613
|
Name: name,
|
|
@@ -19020,12 +19023,18 @@ var WK_ = (function() {
|
|
|
19020
19023
|
function lotus_to_workbook_buf(d, opts) {
|
|
19021
19024
|
if(!d) return d;
|
|
19022
19025
|
var o = opts || {};
|
|
19023
|
-
var s = ((o.dense ? [] : {})), n = "Sheet1", sidx = 0;
|
|
19024
|
-
var sheets = {}, snames = [
|
|
19026
|
+
var s = ((o.dense ? [] : {})), n = "Sheet1", next_n = "", sidx = 0;
|
|
19027
|
+
var sheets = {}, snames = [], realnames = [];
|
|
19025
19028
|
|
|
19026
19029
|
var refguess = {s: {r:0, c:0}, e: {r:0, c:0} };
|
|
19027
19030
|
var sheetRows = o.sheetRows || 0;
|
|
19028
19031
|
|
|
19032
|
+
if(d[2] == 0x00) {
|
|
19033
|
+
if(d[3] == 0x08 || d[3] == 0x09) {
|
|
19034
|
+
if(d.length >= 16 && d[14] == 0x05 && d[15] === 0x6c) throw new Error("Unsupported Works 3 for Mac file");
|
|
19035
|
+
}
|
|
19036
|
+
}
|
|
19037
|
+
|
|
19029
19038
|
if(d[2] == 0x02) {
|
|
19030
19039
|
o.Enum = WK1Enum;
|
|
19031
19040
|
lotushopper(d, function(val, R, RT) { switch(RT) {
|
|
@@ -19034,6 +19043,8 @@ var WK_ = (function() {
|
|
|
19034
19043
|
if(val >= 0x1000) o.qpro = true;
|
|
19035
19044
|
break;
|
|
19036
19045
|
case 0x06: refguess = val; break; /* RANGE */
|
|
19046
|
+
case 0xCC: if(val) next_n = val; break; /* SHEETNAMECS */
|
|
19047
|
+
case 0xDE: next_n = val; break; /* SHEETNAMELP */
|
|
19037
19048
|
case 0x0F: /* LABEL */
|
|
19038
19049
|
case 0x33: /* STRING */
|
|
19039
19050
|
if(!o.qpro) val[1].v = val[1].v.slice(1);
|
|
@@ -19046,6 +19057,18 @@ var WK_ = (function() {
|
|
|
19046
19057
|
val[1].z = o.dateNF || SSF._table[14];
|
|
19047
19058
|
if(o.cellDates) { val[1].t = 'd'; val[1].v = numdate(val[1].v); }
|
|
19048
19059
|
}
|
|
19060
|
+
|
|
19061
|
+
if(o.qpro) {
|
|
19062
|
+
if(val[3] > sidx) {
|
|
19063
|
+
s["!ref"] = encode_range(refguess);
|
|
19064
|
+
sheets[n] = s;
|
|
19065
|
+
snames.push(n);
|
|
19066
|
+
s = (o.dense ? [] : {});
|
|
19067
|
+
refguess = {s: {r:0, c:0}, e: {r:0, c:0} };
|
|
19068
|
+
sidx = val[3]; n = next_n || "Sheet" + (sidx + 1); next_n = "";
|
|
19069
|
+
}
|
|
19070
|
+
}
|
|
19071
|
+
|
|
19049
19072
|
var tmpcell = o.dense ? (s[val[0].r]||[])[val[0].c] : s[encode_cell(val[0])];
|
|
19050
19073
|
if(tmpcell) {
|
|
19051
19074
|
tmpcell.t = val[1].t; tmpcell.v = val[1].v;
|
|
@@ -19063,6 +19086,7 @@ var WK_ = (function() {
|
|
|
19063
19086
|
o.Enum = WK3Enum;
|
|
19064
19087
|
if(d[2] == 0x0E) { o.qpro = true; d.l = 0; }
|
|
19065
19088
|
lotushopper(d, function(val, R, RT) { switch(RT) {
|
|
19089
|
+
case 0xCC: n = val; break; /* SHEETNAMECS */
|
|
19066
19090
|
case 0x16: /* LABEL16 */
|
|
19067
19091
|
val[1].v = val[1].v.slice(1);
|
|
19068
19092
|
/* falls through */
|
|
@@ -19075,10 +19099,10 @@ var WK_ = (function() {
|
|
|
19075
19099
|
if(val[3] > sidx) {
|
|
19076
19100
|
s["!ref"] = encode_range(refguess);
|
|
19077
19101
|
sheets[n] = s;
|
|
19102
|
+
snames.push(n);
|
|
19078
19103
|
s = (o.dense ? [] : {});
|
|
19079
19104
|
refguess = {s: {r:0, c:0}, e: {r:0, c:0} };
|
|
19080
19105
|
sidx = val[3]; n = "Sheet" + (sidx + 1);
|
|
19081
|
-
snames.push(n);
|
|
19082
19106
|
}
|
|
19083
19107
|
if(sheetRows > 0 && val[0].r >= sheetRows) break;
|
|
19084
19108
|
if(o.dense) {
|
|
@@ -19091,16 +19115,22 @@ var WK_ = (function() {
|
|
|
19091
19115
|
case 0x1B: /* XFORMAT */
|
|
19092
19116
|
if(val[0x36b0]) realnames[val[0x36b0][0]] = val[0x36b0][1];
|
|
19093
19117
|
break;
|
|
19118
|
+
case 0x0601: /* SHEETINFOQP */
|
|
19119
|
+
realnames[val[0]] = val[1]; if(val[0] == sidx) n = val[1]; break;
|
|
19094
19120
|
}}, o);
|
|
19095
19121
|
} else throw new Error("Unrecognized LOTUS BOF " + d[2]);
|
|
19096
|
-
|
|
19097
19122
|
s["!ref"] = encode_range(refguess);
|
|
19098
|
-
sheets[n] = s;
|
|
19123
|
+
sheets[next_n || n] = s;
|
|
19124
|
+
snames.push(next_n || n);
|
|
19099
19125
|
if(!realnames.length) return { SheetNames: snames, Sheets: sheets };
|
|
19100
19126
|
var osheets = {}, rnames = [];
|
|
19127
|
+
/* TODO: verify no collisions */
|
|
19101
19128
|
for(var i = 0; i < realnames.length; ++i) if(sheets[snames[i]]) {
|
|
19129
|
+
rnames.push(realnames[i] || snames[i]);
|
|
19130
|
+
osheets[realnames[i]] = sheets[realnames[i]] || sheets[snames[i]];
|
|
19131
|
+
} else {
|
|
19102
19132
|
rnames.push(realnames[i]);
|
|
19103
|
-
osheets[realnames[i]] =
|
|
19133
|
+
osheets[realnames[i]] = ({ "!ref": "A1" });
|
|
19104
19134
|
}
|
|
19105
19135
|
return { SheetNames: rnames, Sheets: osheets };
|
|
19106
19136
|
}
|
|
@@ -19116,7 +19146,8 @@ var WK_ = (function() {
|
|
|
19116
19146
|
|
|
19117
19147
|
write_biff_rec(ba, 0x00, write_BOF_WK1(0x0406));
|
|
19118
19148
|
write_biff_rec(ba, 0x06, write_RANGE(range));
|
|
19119
|
-
|
|
19149
|
+
var max_R = Math.min(range.e.r, 8191);
|
|
19150
|
+
for(var R = range.s.r; R <= max_R; ++R) {
|
|
19120
19151
|
var rr = encode_row(R);
|
|
19121
19152
|
for(var C = range.s.c; C <= range.e.c; ++C) {
|
|
19122
19153
|
if(R === range.s.r) cols[C] = encode_col(C);
|
|
@@ -19155,7 +19186,8 @@ var WK_ = (function() {
|
|
|
19155
19186
|
var range = safe_decode_range(ws["!ref"]);
|
|
19156
19187
|
var dense = Array.isArray(ws);
|
|
19157
19188
|
var cols = [];
|
|
19158
|
-
|
|
19189
|
+
var max_R = Math.min(range.e.r, 8191);
|
|
19190
|
+
for(var R = range.s.r; R <= max_R; ++R) {
|
|
19159
19191
|
var rr = encode_row(R);
|
|
19160
19192
|
for(var C = range.s.c; C <= range.e.c; ++C) {
|
|
19161
19193
|
if(R === range.s.r) cols[C] = encode_col(C);
|
|
@@ -19201,6 +19233,7 @@ var WK_ = (function() {
|
|
|
19201
19233
|
if(rows < range.e.r) rows = range.e.r;
|
|
19202
19234
|
if(cols < range.e.c) cols = range.e.c;
|
|
19203
19235
|
}
|
|
19236
|
+
if(rows > 8191) rows = 8191;
|
|
19204
19237
|
out.write_shift(2, rows);
|
|
19205
19238
|
out.write_shift(1, wscnt);
|
|
19206
19239
|
out.write_shift(1, cols);
|
|
@@ -19213,12 +19246,23 @@ var WK_ = (function() {
|
|
|
19213
19246
|
return out;
|
|
19214
19247
|
}
|
|
19215
19248
|
|
|
19216
|
-
function parse_RANGE(blob) {
|
|
19249
|
+
function parse_RANGE(blob, length, opts) {
|
|
19217
19250
|
var o = {s:{c:0,r:0},e:{c:0,r:0}};
|
|
19251
|
+
if(length == 8 && opts.qpro) {
|
|
19252
|
+
o.s.c = blob.read_shift(1);
|
|
19253
|
+
blob.l++;
|
|
19254
|
+
o.s.r = blob.read_shift(2);
|
|
19255
|
+
o.e.c = blob.read_shift(1);
|
|
19256
|
+
blob.l++;
|
|
19257
|
+
o.e.r = blob.read_shift(2);
|
|
19258
|
+
return o;
|
|
19259
|
+
}
|
|
19218
19260
|
o.s.c = blob.read_shift(2);
|
|
19219
19261
|
o.s.r = blob.read_shift(2);
|
|
19262
|
+
if(length == 12 && opts.qpro) blob.l += 2;
|
|
19220
19263
|
o.e.c = blob.read_shift(2);
|
|
19221
19264
|
o.e.r = blob.read_shift(2);
|
|
19265
|
+
if(length == 12 && opts.qpro) blob.l += 2;
|
|
19222
19266
|
if(o.s.c == 0xFFFF) o.s.c = o.e.c = o.s.r = o.e.r = 0;
|
|
19223
19267
|
return o;
|
|
19224
19268
|
}
|
|
@@ -19232,10 +19276,10 @@ var WK_ = (function() {
|
|
|
19232
19276
|
}
|
|
19233
19277
|
|
|
19234
19278
|
function parse_cell(blob, length, opts) {
|
|
19235
|
-
var o = [{c:0,r:0}, {t:'n',v:0}, 0];
|
|
19279
|
+
var o = [{c:0,r:0}, {t:'n',v:0}, 0, 0];
|
|
19236
19280
|
if(opts.qpro && opts.vers != 0x5120) {
|
|
19237
19281
|
o[0].c = blob.read_shift(1);
|
|
19238
|
-
blob.
|
|
19282
|
+
o[3] = blob.read_shift(1);
|
|
19239
19283
|
o[0].r = blob.read_shift(2);
|
|
19240
19284
|
blob.l+=2;
|
|
19241
19285
|
} else {
|
|
@@ -19343,7 +19387,7 @@ var WK_ = (function() {
|
|
|
19343
19387
|
|
|
19344
19388
|
function wk1_fmla_to_csf(blob, o) {
|
|
19345
19389
|
prep_blob(blob, 0);
|
|
19346
|
-
var out = [], argc = 0, R = "", C = "";
|
|
19390
|
+
var out = [], argc = 0, R = "", C = "", argL = "", argR = "";
|
|
19347
19391
|
while(blob.l < blob.length) {
|
|
19348
19392
|
var cc = blob[blob.l++];
|
|
19349
19393
|
switch(cc) {
|
|
@@ -19375,7 +19419,7 @@ var WK_ = (function() {
|
|
|
19375
19419
|
case 0x16: out.push("NOT(" + out.pop() + ")"); break;
|
|
19376
19420
|
|
|
19377
19421
|
case 0x14: case 0x15: {
|
|
19378
|
-
|
|
19422
|
+
argR = out.pop(); argL = out.pop();
|
|
19379
19423
|
out.push(["AND", "OR"][cc - 0x14] + "(" + argL + "," + argR + ")");
|
|
19380
19424
|
} break;
|
|
19381
19425
|
|
|
@@ -19521,6 +19565,27 @@ var WK_ = (function() {
|
|
|
19521
19565
|
return o;
|
|
19522
19566
|
}
|
|
19523
19567
|
|
|
19568
|
+
function parse_SHEETNAMECS(blob, length) {
|
|
19569
|
+
return blob[blob.l + length - 1] == 0 ? blob.read_shift(length, 'cstr') : "";
|
|
19570
|
+
}
|
|
19571
|
+
|
|
19572
|
+
function parse_SHEETNAMELP(blob, length) {
|
|
19573
|
+
var len = blob[blob.l++];
|
|
19574
|
+
if(len > length - 1) len = length - 1;
|
|
19575
|
+
var o = ""; while(o.length < len) o += String.fromCharCode(blob[blob.l++]);
|
|
19576
|
+
return o;
|
|
19577
|
+
}
|
|
19578
|
+
|
|
19579
|
+
function parse_SHEETINFOQP(blob, length, opts) {
|
|
19580
|
+
if(!opts.qpro || length < 21) return;
|
|
19581
|
+
var id = blob.read_shift(1);
|
|
19582
|
+
blob.l += 17;
|
|
19583
|
+
blob.read_shift(1);
|
|
19584
|
+
blob.l += 2;
|
|
19585
|
+
var nm = blob.read_shift(length - 21, 'cstr');
|
|
19586
|
+
return [id, nm];
|
|
19587
|
+
}
|
|
19588
|
+
|
|
19524
19589
|
function parse_XFORMAT(blob, length) {
|
|
19525
19590
|
var o = {}, tgt = blob.l + length;
|
|
19526
19591
|
while(blob.l < tgt) {
|
|
@@ -19608,6 +19673,8 @@ var WK_ = (function() {
|
|
|
19608
19673
|
0x0067: { n:"RRANGES??" },
|
|
19609
19674
|
0x0068: { n:"FNAME??" },
|
|
19610
19675
|
0x0069: { n:"MRANGES??" },
|
|
19676
|
+
0x00CC: { n:"SHEETNAMECS", f:parse_SHEETNAMECS },
|
|
19677
|
+
0x00DE: { n:"SHEETNAMELP", f:parse_SHEETNAMELP },
|
|
19611
19678
|
0xFFFF: { n:"" }
|
|
19612
19679
|
};
|
|
19613
19680
|
|
|
@@ -19673,6 +19740,7 @@ var WK_ = (function() {
|
|
|
19673
19740
|
0x00BC: { n:"??" },
|
|
19674
19741
|
0x00C3: { n:"??" },
|
|
19675
19742
|
0x00C9: { n:"??" },
|
|
19743
|
+
0x00CC: { n:"SHEETNAMECS", f:parse_SHEETNAMECS },
|
|
19676
19744
|
0x00CD: { n:"??" },
|
|
19677
19745
|
0x00CE: { n:"??" },
|
|
19678
19746
|
0x00CF: { n:"??" },
|
|
@@ -19717,6 +19785,7 @@ var WK_ = (function() {
|
|
|
19717
19785
|
0x029A: { n:"??" },
|
|
19718
19786
|
0x0300: { n:"??" },
|
|
19719
19787
|
0x0304: { n:"??" },
|
|
19788
|
+
0x0601: { n:"SHEETINFOQP", f:parse_SHEETINFOQP },
|
|
19720
19789
|
0x0640: { n:"??" },
|
|
19721
19790
|
0x0642: { n:"??" },
|
|
19722
19791
|
0x0701: { n:"??" },
|
|
@@ -27489,6 +27558,7 @@ function parse_xlml_xml(d, _opts) {
|
|
|
27489
27558
|
else str = utf8read(str);
|
|
27490
27559
|
}
|
|
27491
27560
|
var opening = str.slice(0, 1024).toLowerCase(), ishtml = false;
|
|
27561
|
+
opening = opening.replace(/".*?"/g, "");
|
|
27492
27562
|
if((opening.indexOf(">") & 1023) > Math.min((opening.indexOf(",") & 1023), (opening.indexOf(";")&1023))) { var _o = dup(opts); _o.type = "string"; return PRN.to_workbook(str, _o); }
|
|
27493
27563
|
if(opening.indexOf("<?xml") == -1) ["html", "table", "head", "meta", "script", "style", "div"].forEach(function(tag) { if(opening.indexOf("<" + tag) >= 0) ishtml = true; });
|
|
27494
27564
|
if(ishtml) return HTML_.to_workbook(str, opts);
|
|
@@ -29362,7 +29432,9 @@ if(!cur_sheet) Workbook.WBProps.CodeName = val || "ThisWorkbook";
|
|
|
29362
29432
|
if(!options.bookSheets) wb.Sheets=Sheets;
|
|
29363
29433
|
if(!wb.SheetNames.length && Preamble["!ref"]) {
|
|
29364
29434
|
wb.SheetNames.push("Sheet1");
|
|
29435
|
+
/*jshint -W069 */
|
|
29365
29436
|
if(wb.Sheets) wb.Sheets["Sheet1"] = Preamble;
|
|
29437
|
+
/*jshint +W069 */
|
|
29366
29438
|
} else wb.Preamble=Preamble;
|
|
29367
29439
|
if(wb.Sheets) FilterDatabases.forEach(function(r,i) { wb.Sheets[wb.SheetNames[i]]['!autofilter'] = r; });
|
|
29368
29440
|
wb.Strings = sst;
|
|
@@ -29457,6 +29529,8 @@ else {
|
|
|
29457
29529
|
else if((_data=CFB.find(cfb, 'PerfectOffice_MAIN')) && _data.content) WorkbookP = WK_.to_workbook(_data.content, (options.type = T, options));
|
|
29458
29530
|
/* Quattro Pro 9 */
|
|
29459
29531
|
else if((_data=CFB.find(cfb, 'NativeContent_MAIN')) && _data.content) WorkbookP = WK_.to_workbook(_data.content, (options.type = T, options));
|
|
29532
|
+
/* Works 4 for Mac */
|
|
29533
|
+
else if((_data=CFB.find(cfb, 'MN0')) && _data.content) throw new Error("Unsupported Works 4 for Mac file");
|
|
29460
29534
|
else throw new Error("Cannot find Workbook stream");
|
|
29461
29535
|
if(options.bookVBA && cfb.FullPaths && CFB.find(cfb, '/_VBA_PROJECT_CUR/VBA/dir')) WorkbookP.vbaraw = make_vba_xls(cfb);
|
|
29462
29536
|
}
|
|
@@ -30334,7 +30408,9 @@ var XLSBRecordEnum = {
|
|
|
30334
30408
|
};
|
|
30335
30409
|
|
|
30336
30410
|
var XLSBRE = evert_key(XLSBRecordEnum, 'n');
|
|
30411
|
+
/*jshint -W069 */
|
|
30337
30412
|
XLSBRE["BrtFRTArchID$"] = 0x0010;
|
|
30413
|
+
/*jshint +W069 */
|
|
30338
30414
|
|
|
30339
30415
|
/* [MS-XLS] 2.3 Record Enumeration (and other sources) */
|
|
30340
30416
|
var XLSRecordEnum = {
|
|
@@ -31182,6 +31258,15 @@ function write_biff8_buf(wb, opts) {
|
|
|
31182
31258
|
}
|
|
31183
31259
|
|
|
31184
31260
|
function write_biff_buf(wb, opts) {
|
|
31261
|
+
for(var i = 0; i <= wb.SheetNames.length; ++i) {
|
|
31262
|
+
var ws = wb.Sheets[wb.SheetNames[i]];
|
|
31263
|
+
if(!ws || !ws["!ref"]) continue;
|
|
31264
|
+
var range = decode_range(ws["!ref"]);
|
|
31265
|
+
if(range.e.c > 255) { // note: 255 is IV
|
|
31266
|
+
console.error("Worksheet '" + wb.SheetNames[i] + "' extends beyond column IV (255). Data may be lost.");
|
|
31267
|
+
}
|
|
31268
|
+
}
|
|
31269
|
+
|
|
31185
31270
|
var o = opts || {};
|
|
31186
31271
|
switch(o.biff || 2) {
|
|
31187
31272
|
case 8: case 5: return write_biff8_buf(wb, opts);
|
|
@@ -31995,14 +32080,16 @@ function parse_fods(data, opts) {
|
|
|
31995
32080
|
|
|
31996
32081
|
/* OpenDocument */
|
|
31997
32082
|
var write_styles_ods = (function() {
|
|
31998
|
-
var master_styles =
|
|
31999
|
-
|
|
32000
|
-
|
|
32001
|
-
|
|
32002
|
-
|
|
32003
|
-
|
|
32004
|
-
|
|
32005
|
-
|
|
32083
|
+
var master_styles = [
|
|
32084
|
+
'<office:master-styles>',
|
|
32085
|
+
'<style:master-page style:name="mp1" style:page-layout-name="mp1">',
|
|
32086
|
+
'<style:header/>',
|
|
32087
|
+
'<style:header-left style:display="false"/>',
|
|
32088
|
+
'<style:footer/>',
|
|
32089
|
+
'<style:footer-left style:display="false"/>',
|
|
32090
|
+
'</style:master-page>',
|
|
32091
|
+
'</office:master-styles>'
|
|
32092
|
+
].join("");
|
|
32006
32093
|
|
|
32007
32094
|
var payload = '<office:document-styles ' + wxt_helper({
|
|
32008
32095
|
'xmlns:office': "urn:oasis:names:tc:opendocument:xmlns:office:1.0",
|
|
@@ -32419,6 +32506,11 @@ function parse_zip(zip, opts) {
|
|
|
32419
32506
|
if(safegetzipfile(zip, 'objectdata.xml')) return parse_ods(zip, opts);
|
|
32420
32507
|
/* Numbers */
|
|
32421
32508
|
if(safegetzipfile(zip, 'Index/Document.iwa')) throw new Error('Unsupported NUMBERS file');
|
|
32509
|
+
if(!safegetzipfile(zip, '[Content_Types].xml')) {
|
|
32510
|
+
if(safegetzipfile(zip, 'index.xml.gz')) throw new Error('Unsupported NUMBERS 08 file');
|
|
32511
|
+
if(safegetzipfile(zip, 'index.xml')) throw new Error('Unsupported NUMBERS 09 file');
|
|
32512
|
+
throw new Error('Unsupported ZIP file');
|
|
32513
|
+
}
|
|
32422
32514
|
|
|
32423
32515
|
var entries = zipentries(zip);
|
|
32424
32516
|
var dir = parse_ct((getzipstr(zip, '[Content_Types].xml')));
|
|
@@ -32836,12 +32928,20 @@ function readSync(data, opts) {
|
|
|
32836
32928
|
case 0x54: if(n[1] === 0x41 && n[2] === 0x42 && n[3] === 0x4C) return DIF.to_workbook(d, o); break;
|
|
32837
32929
|
case 0x50: return (n[1] === 0x4B && n[2] < 0x09 && n[3] < 0x09) ? read_zip(d, o) : read_prn(data, d, o, str);
|
|
32838
32930
|
case 0xEF: return n[3] === 0x3C ? parse_xlml(d, o) : read_prn(data, d, o, str);
|
|
32839
|
-
case 0xFF:
|
|
32840
|
-
|
|
32931
|
+
case 0xFF:
|
|
32932
|
+
if(n[1] === 0xFE) { return read_utf16(d, o); }
|
|
32933
|
+
else if(n[1] === 0x00 && n[2] === 0x02 && n[3] === 0x00) return WK_.to_workbook(d, o);
|
|
32934
|
+
break;
|
|
32935
|
+
case 0x00:
|
|
32936
|
+
if(n[1] === 0x00) {
|
|
32937
|
+
if(n[2] >= 0x02 && n[3] === 0x00) return WK_.to_workbook(d, o);
|
|
32938
|
+
if(n[2] === 0x00 && (n[3] === 0x08 || n[3] === 0x09)) return WK_.to_workbook(d, o);
|
|
32939
|
+
}
|
|
32940
|
+
break;
|
|
32841
32941
|
case 0x03: case 0x83: case 0x8B: case 0x8C: return DBF.to_workbook(d, o);
|
|
32842
32942
|
case 0x7B: if(n[1] === 0x5C && n[2] === 0x72 && n[3] === 0x74) return RTF.to_workbook(d, o); break;
|
|
32843
32943
|
case 0x0A: case 0x0D: case 0x20: return read_plaintext_raw(d, o);
|
|
32844
|
-
case 0x89: if(n[1] === 0x50 && n[2] === 0x4E && n[3] === 0x47) throw new Error("PNG Image File is not a spreadsheet"); break;
|
|
32944
|
+
case 0x89: if(n[1] === 0x50 && n[2] === 0x4E && n[3] === 0x47) throw new Error("PNG Image File is not a spreadsheet"); break;
|
|
32845
32945
|
}
|
|
32846
32946
|
if(DBF.versions.indexOf(n[0]) > -1 && n[2] <= 12 && n[3] <= 31) return DBF.to_workbook(d, o);
|
|
32847
32947
|
return read_prn(data, d, o, str);
|
|
@@ -33388,7 +33488,10 @@ return utils;
|
|
|
33388
33488
|
})(utils);
|
|
33389
33489
|
|
|
33390
33490
|
if(has_buf && typeof commonjsRequire != 'undefined') (function() {
|
|
33391
|
-
var
|
|
33491
|
+
var strmod = require$$0__default["default"];
|
|
33492
|
+
if(!strmod) return;
|
|
33493
|
+
var Readable = strmod.Readable;
|
|
33494
|
+
if(!Readable) return;
|
|
33392
33495
|
|
|
33393
33496
|
var write_csv_stream = function(sheet, opts) {
|
|
33394
33497
|
var stream = Readable();
|
|
@@ -33525,7 +33628,7 @@ if(typeof CFB !== "undefined") XLSX.CFB = CFB;
|
|
|
33525
33628
|
/*global define */
|
|
33526
33629
|
make_xlsx_lib(exports);
|
|
33527
33630
|
/* NOTE: the following extra line is needed for "Lightning Locker Service" */
|
|
33528
|
-
if(typeof window !== 'undefined' && !window.XLSX) window.XLSX = XLSX;
|
|
33631
|
+
if(typeof window !== 'undefined' && !window.XLSX) try { window.XLSX = XLSX; } catch(e) {}
|
|
33529
33632
|
}(xlsx, xlsx.exports));
|
|
33530
33633
|
|
|
33531
33634
|
var _castCellValueToStr = cellValue => {
|
package/dist/index.esm.js
CHANGED
|
@@ -11062,7 +11062,7 @@ module.exports = ZStream;
|
|
|
11062
11062
|
/*global global, exports, module, require:false, process:false, Buffer:false, ArrayBuffer:false */
|
|
11063
11063
|
var XLSX = {};
|
|
11064
11064
|
function make_xlsx_lib(XLSX){
|
|
11065
|
-
XLSX.version = '0.17.
|
|
11065
|
+
XLSX.version = '0.17.5';
|
|
11066
11066
|
var current_codepage = 1200, current_ansi = 1252;
|
|
11067
11067
|
/*global cptable:true, window */
|
|
11068
11068
|
if(typeof commonjsRequire !== 'undefined') {
|
|
@@ -14752,7 +14752,8 @@ function safe_decode_range(range) {
|
|
|
14752
14752
|
}
|
|
14753
14753
|
o.s.r = --idx;
|
|
14754
14754
|
|
|
14755
|
-
if(i === len ||
|
|
14755
|
+
if(i === len || cc != 10) { o.e.c=o.s.c; o.e.r=o.s.r; return o; }
|
|
14756
|
+
++i;
|
|
14756
14757
|
|
|
14757
14758
|
for(idx = 0; i != len; ++i) {
|
|
14758
14759
|
if((cc=range.charCodeAt(i)-64) < 1 || cc > 26) break;
|
|
@@ -15793,7 +15794,7 @@ function parse_rels(data, currentFilePath) {
|
|
|
15793
15794
|
var y = parsexmltag(x);
|
|
15794
15795
|
/* 9.3.2.2 OPC_Relationships */
|
|
15795
15796
|
if (y[0] === '<Relationship') {
|
|
15796
|
-
var rel = {}; rel.Type = y.Type; rel.Target = y.Target; rel.Id = y.Id; rel.TargetMode = y.TargetMode;
|
|
15797
|
+
var rel = {}; rel.Type = y.Type; rel.Target = y.Target; rel.Id = y.Id; if(y.TargetMode) rel.TargetMode = y.TargetMode;
|
|
15797
15798
|
var canonictarget = y.TargetMode === 'External' ? y.Target : resolve_path(y.Target, currentFilePath);
|
|
15798
15799
|
rels[canonictarget] = rel;
|
|
15799
15800
|
hash[y.Id] = rel;
|
|
@@ -17595,7 +17596,9 @@ function parse_Lbl(blob, length, opts) {
|
|
|
17595
17596
|
var name = parse_XLUnicodeStringNoCch(blob, cch, opts);
|
|
17596
17597
|
if(flags & 0x20) name = XLSLblBuiltIn[name.charCodeAt(0)];
|
|
17597
17598
|
var npflen = target - blob.l; if(opts && opts.biff == 2) --npflen;
|
|
17599
|
+
/*jshint -W018 */
|
|
17598
17600
|
var rgce = (target == blob.l || cce === 0 || !(npflen > 0)) ? [] : parse_NameParsedFormula(blob, npflen, opts, cce);
|
|
17601
|
+
/*jshint +W018 */
|
|
17599
17602
|
return {
|
|
17600
17603
|
chKey: chKey,
|
|
17601
17604
|
Name: name,
|
|
@@ -19011,12 +19014,18 @@ var WK_ = (function() {
|
|
|
19011
19014
|
function lotus_to_workbook_buf(d, opts) {
|
|
19012
19015
|
if(!d) return d;
|
|
19013
19016
|
var o = opts || {};
|
|
19014
|
-
var s = ((o.dense ? [] : {})), n = "Sheet1", sidx = 0;
|
|
19015
|
-
var sheets = {}, snames = [
|
|
19017
|
+
var s = ((o.dense ? [] : {})), n = "Sheet1", next_n = "", sidx = 0;
|
|
19018
|
+
var sheets = {}, snames = [], realnames = [];
|
|
19016
19019
|
|
|
19017
19020
|
var refguess = {s: {r:0, c:0}, e: {r:0, c:0} };
|
|
19018
19021
|
var sheetRows = o.sheetRows || 0;
|
|
19019
19022
|
|
|
19023
|
+
if(d[2] == 0x00) {
|
|
19024
|
+
if(d[3] == 0x08 || d[3] == 0x09) {
|
|
19025
|
+
if(d.length >= 16 && d[14] == 0x05 && d[15] === 0x6c) throw new Error("Unsupported Works 3 for Mac file");
|
|
19026
|
+
}
|
|
19027
|
+
}
|
|
19028
|
+
|
|
19020
19029
|
if(d[2] == 0x02) {
|
|
19021
19030
|
o.Enum = WK1Enum;
|
|
19022
19031
|
lotushopper(d, function(val, R, RT) { switch(RT) {
|
|
@@ -19025,6 +19034,8 @@ var WK_ = (function() {
|
|
|
19025
19034
|
if(val >= 0x1000) o.qpro = true;
|
|
19026
19035
|
break;
|
|
19027
19036
|
case 0x06: refguess = val; break; /* RANGE */
|
|
19037
|
+
case 0xCC: if(val) next_n = val; break; /* SHEETNAMECS */
|
|
19038
|
+
case 0xDE: next_n = val; break; /* SHEETNAMELP */
|
|
19028
19039
|
case 0x0F: /* LABEL */
|
|
19029
19040
|
case 0x33: /* STRING */
|
|
19030
19041
|
if(!o.qpro) val[1].v = val[1].v.slice(1);
|
|
@@ -19037,6 +19048,18 @@ var WK_ = (function() {
|
|
|
19037
19048
|
val[1].z = o.dateNF || SSF._table[14];
|
|
19038
19049
|
if(o.cellDates) { val[1].t = 'd'; val[1].v = numdate(val[1].v); }
|
|
19039
19050
|
}
|
|
19051
|
+
|
|
19052
|
+
if(o.qpro) {
|
|
19053
|
+
if(val[3] > sidx) {
|
|
19054
|
+
s["!ref"] = encode_range(refguess);
|
|
19055
|
+
sheets[n] = s;
|
|
19056
|
+
snames.push(n);
|
|
19057
|
+
s = (o.dense ? [] : {});
|
|
19058
|
+
refguess = {s: {r:0, c:0}, e: {r:0, c:0} };
|
|
19059
|
+
sidx = val[3]; n = next_n || "Sheet" + (sidx + 1); next_n = "";
|
|
19060
|
+
}
|
|
19061
|
+
}
|
|
19062
|
+
|
|
19040
19063
|
var tmpcell = o.dense ? (s[val[0].r]||[])[val[0].c] : s[encode_cell(val[0])];
|
|
19041
19064
|
if(tmpcell) {
|
|
19042
19065
|
tmpcell.t = val[1].t; tmpcell.v = val[1].v;
|
|
@@ -19054,6 +19077,7 @@ var WK_ = (function() {
|
|
|
19054
19077
|
o.Enum = WK3Enum;
|
|
19055
19078
|
if(d[2] == 0x0E) { o.qpro = true; d.l = 0; }
|
|
19056
19079
|
lotushopper(d, function(val, R, RT) { switch(RT) {
|
|
19080
|
+
case 0xCC: n = val; break; /* SHEETNAMECS */
|
|
19057
19081
|
case 0x16: /* LABEL16 */
|
|
19058
19082
|
val[1].v = val[1].v.slice(1);
|
|
19059
19083
|
/* falls through */
|
|
@@ -19066,10 +19090,10 @@ var WK_ = (function() {
|
|
|
19066
19090
|
if(val[3] > sidx) {
|
|
19067
19091
|
s["!ref"] = encode_range(refguess);
|
|
19068
19092
|
sheets[n] = s;
|
|
19093
|
+
snames.push(n);
|
|
19069
19094
|
s = (o.dense ? [] : {});
|
|
19070
19095
|
refguess = {s: {r:0, c:0}, e: {r:0, c:0} };
|
|
19071
19096
|
sidx = val[3]; n = "Sheet" + (sidx + 1);
|
|
19072
|
-
snames.push(n);
|
|
19073
19097
|
}
|
|
19074
19098
|
if(sheetRows > 0 && val[0].r >= sheetRows) break;
|
|
19075
19099
|
if(o.dense) {
|
|
@@ -19082,16 +19106,22 @@ var WK_ = (function() {
|
|
|
19082
19106
|
case 0x1B: /* XFORMAT */
|
|
19083
19107
|
if(val[0x36b0]) realnames[val[0x36b0][0]] = val[0x36b0][1];
|
|
19084
19108
|
break;
|
|
19109
|
+
case 0x0601: /* SHEETINFOQP */
|
|
19110
|
+
realnames[val[0]] = val[1]; if(val[0] == sidx) n = val[1]; break;
|
|
19085
19111
|
}}, o);
|
|
19086
19112
|
} else throw new Error("Unrecognized LOTUS BOF " + d[2]);
|
|
19087
|
-
|
|
19088
19113
|
s["!ref"] = encode_range(refguess);
|
|
19089
|
-
sheets[n] = s;
|
|
19114
|
+
sheets[next_n || n] = s;
|
|
19115
|
+
snames.push(next_n || n);
|
|
19090
19116
|
if(!realnames.length) return { SheetNames: snames, Sheets: sheets };
|
|
19091
19117
|
var osheets = {}, rnames = [];
|
|
19118
|
+
/* TODO: verify no collisions */
|
|
19092
19119
|
for(var i = 0; i < realnames.length; ++i) if(sheets[snames[i]]) {
|
|
19120
|
+
rnames.push(realnames[i] || snames[i]);
|
|
19121
|
+
osheets[realnames[i]] = sheets[realnames[i]] || sheets[snames[i]];
|
|
19122
|
+
} else {
|
|
19093
19123
|
rnames.push(realnames[i]);
|
|
19094
|
-
osheets[realnames[i]] =
|
|
19124
|
+
osheets[realnames[i]] = ({ "!ref": "A1" });
|
|
19095
19125
|
}
|
|
19096
19126
|
return { SheetNames: rnames, Sheets: osheets };
|
|
19097
19127
|
}
|
|
@@ -19107,7 +19137,8 @@ var WK_ = (function() {
|
|
|
19107
19137
|
|
|
19108
19138
|
write_biff_rec(ba, 0x00, write_BOF_WK1(0x0406));
|
|
19109
19139
|
write_biff_rec(ba, 0x06, write_RANGE(range));
|
|
19110
|
-
|
|
19140
|
+
var max_R = Math.min(range.e.r, 8191);
|
|
19141
|
+
for(var R = range.s.r; R <= max_R; ++R) {
|
|
19111
19142
|
var rr = encode_row(R);
|
|
19112
19143
|
for(var C = range.s.c; C <= range.e.c; ++C) {
|
|
19113
19144
|
if(R === range.s.r) cols[C] = encode_col(C);
|
|
@@ -19146,7 +19177,8 @@ var WK_ = (function() {
|
|
|
19146
19177
|
var range = safe_decode_range(ws["!ref"]);
|
|
19147
19178
|
var dense = Array.isArray(ws);
|
|
19148
19179
|
var cols = [];
|
|
19149
|
-
|
|
19180
|
+
var max_R = Math.min(range.e.r, 8191);
|
|
19181
|
+
for(var R = range.s.r; R <= max_R; ++R) {
|
|
19150
19182
|
var rr = encode_row(R);
|
|
19151
19183
|
for(var C = range.s.c; C <= range.e.c; ++C) {
|
|
19152
19184
|
if(R === range.s.r) cols[C] = encode_col(C);
|
|
@@ -19192,6 +19224,7 @@ var WK_ = (function() {
|
|
|
19192
19224
|
if(rows < range.e.r) rows = range.e.r;
|
|
19193
19225
|
if(cols < range.e.c) cols = range.e.c;
|
|
19194
19226
|
}
|
|
19227
|
+
if(rows > 8191) rows = 8191;
|
|
19195
19228
|
out.write_shift(2, rows);
|
|
19196
19229
|
out.write_shift(1, wscnt);
|
|
19197
19230
|
out.write_shift(1, cols);
|
|
@@ -19204,12 +19237,23 @@ var WK_ = (function() {
|
|
|
19204
19237
|
return out;
|
|
19205
19238
|
}
|
|
19206
19239
|
|
|
19207
|
-
function parse_RANGE(blob) {
|
|
19240
|
+
function parse_RANGE(blob, length, opts) {
|
|
19208
19241
|
var o = {s:{c:0,r:0},e:{c:0,r:0}};
|
|
19242
|
+
if(length == 8 && opts.qpro) {
|
|
19243
|
+
o.s.c = blob.read_shift(1);
|
|
19244
|
+
blob.l++;
|
|
19245
|
+
o.s.r = blob.read_shift(2);
|
|
19246
|
+
o.e.c = blob.read_shift(1);
|
|
19247
|
+
blob.l++;
|
|
19248
|
+
o.e.r = blob.read_shift(2);
|
|
19249
|
+
return o;
|
|
19250
|
+
}
|
|
19209
19251
|
o.s.c = blob.read_shift(2);
|
|
19210
19252
|
o.s.r = blob.read_shift(2);
|
|
19253
|
+
if(length == 12 && opts.qpro) blob.l += 2;
|
|
19211
19254
|
o.e.c = blob.read_shift(2);
|
|
19212
19255
|
o.e.r = blob.read_shift(2);
|
|
19256
|
+
if(length == 12 && opts.qpro) blob.l += 2;
|
|
19213
19257
|
if(o.s.c == 0xFFFF) o.s.c = o.e.c = o.s.r = o.e.r = 0;
|
|
19214
19258
|
return o;
|
|
19215
19259
|
}
|
|
@@ -19223,10 +19267,10 @@ var WK_ = (function() {
|
|
|
19223
19267
|
}
|
|
19224
19268
|
|
|
19225
19269
|
function parse_cell(blob, length, opts) {
|
|
19226
|
-
var o = [{c:0,r:0}, {t:'n',v:0}, 0];
|
|
19270
|
+
var o = [{c:0,r:0}, {t:'n',v:0}, 0, 0];
|
|
19227
19271
|
if(opts.qpro && opts.vers != 0x5120) {
|
|
19228
19272
|
o[0].c = blob.read_shift(1);
|
|
19229
|
-
blob.
|
|
19273
|
+
o[3] = blob.read_shift(1);
|
|
19230
19274
|
o[0].r = blob.read_shift(2);
|
|
19231
19275
|
blob.l+=2;
|
|
19232
19276
|
} else {
|
|
@@ -19334,7 +19378,7 @@ var WK_ = (function() {
|
|
|
19334
19378
|
|
|
19335
19379
|
function wk1_fmla_to_csf(blob, o) {
|
|
19336
19380
|
prep_blob(blob, 0);
|
|
19337
|
-
var out = [], argc = 0, R = "", C = "";
|
|
19381
|
+
var out = [], argc = 0, R = "", C = "", argL = "", argR = "";
|
|
19338
19382
|
while(blob.l < blob.length) {
|
|
19339
19383
|
var cc = blob[blob.l++];
|
|
19340
19384
|
switch(cc) {
|
|
@@ -19366,7 +19410,7 @@ var WK_ = (function() {
|
|
|
19366
19410
|
case 0x16: out.push("NOT(" + out.pop() + ")"); break;
|
|
19367
19411
|
|
|
19368
19412
|
case 0x14: case 0x15: {
|
|
19369
|
-
|
|
19413
|
+
argR = out.pop(); argL = out.pop();
|
|
19370
19414
|
out.push(["AND", "OR"][cc - 0x14] + "(" + argL + "," + argR + ")");
|
|
19371
19415
|
} break;
|
|
19372
19416
|
|
|
@@ -19512,6 +19556,27 @@ var WK_ = (function() {
|
|
|
19512
19556
|
return o;
|
|
19513
19557
|
}
|
|
19514
19558
|
|
|
19559
|
+
function parse_SHEETNAMECS(blob, length) {
|
|
19560
|
+
return blob[blob.l + length - 1] == 0 ? blob.read_shift(length, 'cstr') : "";
|
|
19561
|
+
}
|
|
19562
|
+
|
|
19563
|
+
function parse_SHEETNAMELP(blob, length) {
|
|
19564
|
+
var len = blob[blob.l++];
|
|
19565
|
+
if(len > length - 1) len = length - 1;
|
|
19566
|
+
var o = ""; while(o.length < len) o += String.fromCharCode(blob[blob.l++]);
|
|
19567
|
+
return o;
|
|
19568
|
+
}
|
|
19569
|
+
|
|
19570
|
+
function parse_SHEETINFOQP(blob, length, opts) {
|
|
19571
|
+
if(!opts.qpro || length < 21) return;
|
|
19572
|
+
var id = blob.read_shift(1);
|
|
19573
|
+
blob.l += 17;
|
|
19574
|
+
blob.read_shift(1);
|
|
19575
|
+
blob.l += 2;
|
|
19576
|
+
var nm = blob.read_shift(length - 21, 'cstr');
|
|
19577
|
+
return [id, nm];
|
|
19578
|
+
}
|
|
19579
|
+
|
|
19515
19580
|
function parse_XFORMAT(blob, length) {
|
|
19516
19581
|
var o = {}, tgt = blob.l + length;
|
|
19517
19582
|
while(blob.l < tgt) {
|
|
@@ -19599,6 +19664,8 @@ var WK_ = (function() {
|
|
|
19599
19664
|
0x0067: { n:"RRANGES??" },
|
|
19600
19665
|
0x0068: { n:"FNAME??" },
|
|
19601
19666
|
0x0069: { n:"MRANGES??" },
|
|
19667
|
+
0x00CC: { n:"SHEETNAMECS", f:parse_SHEETNAMECS },
|
|
19668
|
+
0x00DE: { n:"SHEETNAMELP", f:parse_SHEETNAMELP },
|
|
19602
19669
|
0xFFFF: { n:"" }
|
|
19603
19670
|
};
|
|
19604
19671
|
|
|
@@ -19664,6 +19731,7 @@ var WK_ = (function() {
|
|
|
19664
19731
|
0x00BC: { n:"??" },
|
|
19665
19732
|
0x00C3: { n:"??" },
|
|
19666
19733
|
0x00C9: { n:"??" },
|
|
19734
|
+
0x00CC: { n:"SHEETNAMECS", f:parse_SHEETNAMECS },
|
|
19667
19735
|
0x00CD: { n:"??" },
|
|
19668
19736
|
0x00CE: { n:"??" },
|
|
19669
19737
|
0x00CF: { n:"??" },
|
|
@@ -19708,6 +19776,7 @@ var WK_ = (function() {
|
|
|
19708
19776
|
0x029A: { n:"??" },
|
|
19709
19777
|
0x0300: { n:"??" },
|
|
19710
19778
|
0x0304: { n:"??" },
|
|
19779
|
+
0x0601: { n:"SHEETINFOQP", f:parse_SHEETINFOQP },
|
|
19711
19780
|
0x0640: { n:"??" },
|
|
19712
19781
|
0x0642: { n:"??" },
|
|
19713
19782
|
0x0701: { n:"??" },
|
|
@@ -27480,6 +27549,7 @@ function parse_xlml_xml(d, _opts) {
|
|
|
27480
27549
|
else str = utf8read(str);
|
|
27481
27550
|
}
|
|
27482
27551
|
var opening = str.slice(0, 1024).toLowerCase(), ishtml = false;
|
|
27552
|
+
opening = opening.replace(/".*?"/g, "");
|
|
27483
27553
|
if((opening.indexOf(">") & 1023) > Math.min((opening.indexOf(",") & 1023), (opening.indexOf(";")&1023))) { var _o = dup(opts); _o.type = "string"; return PRN.to_workbook(str, _o); }
|
|
27484
27554
|
if(opening.indexOf("<?xml") == -1) ["html", "table", "head", "meta", "script", "style", "div"].forEach(function(tag) { if(opening.indexOf("<" + tag) >= 0) ishtml = true; });
|
|
27485
27555
|
if(ishtml) return HTML_.to_workbook(str, opts);
|
|
@@ -29353,7 +29423,9 @@ if(!cur_sheet) Workbook.WBProps.CodeName = val || "ThisWorkbook";
|
|
|
29353
29423
|
if(!options.bookSheets) wb.Sheets=Sheets;
|
|
29354
29424
|
if(!wb.SheetNames.length && Preamble["!ref"]) {
|
|
29355
29425
|
wb.SheetNames.push("Sheet1");
|
|
29426
|
+
/*jshint -W069 */
|
|
29356
29427
|
if(wb.Sheets) wb.Sheets["Sheet1"] = Preamble;
|
|
29428
|
+
/*jshint +W069 */
|
|
29357
29429
|
} else wb.Preamble=Preamble;
|
|
29358
29430
|
if(wb.Sheets) FilterDatabases.forEach(function(r,i) { wb.Sheets[wb.SheetNames[i]]['!autofilter'] = r; });
|
|
29359
29431
|
wb.Strings = sst;
|
|
@@ -29448,6 +29520,8 @@ else {
|
|
|
29448
29520
|
else if((_data=CFB.find(cfb, 'PerfectOffice_MAIN')) && _data.content) WorkbookP = WK_.to_workbook(_data.content, (options.type = T, options));
|
|
29449
29521
|
/* Quattro Pro 9 */
|
|
29450
29522
|
else if((_data=CFB.find(cfb, 'NativeContent_MAIN')) && _data.content) WorkbookP = WK_.to_workbook(_data.content, (options.type = T, options));
|
|
29523
|
+
/* Works 4 for Mac */
|
|
29524
|
+
else if((_data=CFB.find(cfb, 'MN0')) && _data.content) throw new Error("Unsupported Works 4 for Mac file");
|
|
29451
29525
|
else throw new Error("Cannot find Workbook stream");
|
|
29452
29526
|
if(options.bookVBA && cfb.FullPaths && CFB.find(cfb, '/_VBA_PROJECT_CUR/VBA/dir')) WorkbookP.vbaraw = make_vba_xls(cfb);
|
|
29453
29527
|
}
|
|
@@ -30325,7 +30399,9 @@ var XLSBRecordEnum = {
|
|
|
30325
30399
|
};
|
|
30326
30400
|
|
|
30327
30401
|
var XLSBRE = evert_key(XLSBRecordEnum, 'n');
|
|
30402
|
+
/*jshint -W069 */
|
|
30328
30403
|
XLSBRE["BrtFRTArchID$"] = 0x0010;
|
|
30404
|
+
/*jshint +W069 */
|
|
30329
30405
|
|
|
30330
30406
|
/* [MS-XLS] 2.3 Record Enumeration (and other sources) */
|
|
30331
30407
|
var XLSRecordEnum = {
|
|
@@ -31173,6 +31249,15 @@ function write_biff8_buf(wb, opts) {
|
|
|
31173
31249
|
}
|
|
31174
31250
|
|
|
31175
31251
|
function write_biff_buf(wb, opts) {
|
|
31252
|
+
for(var i = 0; i <= wb.SheetNames.length; ++i) {
|
|
31253
|
+
var ws = wb.Sheets[wb.SheetNames[i]];
|
|
31254
|
+
if(!ws || !ws["!ref"]) continue;
|
|
31255
|
+
var range = decode_range(ws["!ref"]);
|
|
31256
|
+
if(range.e.c > 255) { // note: 255 is IV
|
|
31257
|
+
console.error("Worksheet '" + wb.SheetNames[i] + "' extends beyond column IV (255). Data may be lost.");
|
|
31258
|
+
}
|
|
31259
|
+
}
|
|
31260
|
+
|
|
31176
31261
|
var o = opts || {};
|
|
31177
31262
|
switch(o.biff || 2) {
|
|
31178
31263
|
case 8: case 5: return write_biff8_buf(wb, opts);
|
|
@@ -31986,14 +32071,16 @@ function parse_fods(data, opts) {
|
|
|
31986
32071
|
|
|
31987
32072
|
/* OpenDocument */
|
|
31988
32073
|
var write_styles_ods = (function() {
|
|
31989
|
-
var master_styles =
|
|
31990
|
-
|
|
31991
|
-
|
|
31992
|
-
|
|
31993
|
-
|
|
31994
|
-
|
|
31995
|
-
|
|
31996
|
-
|
|
32074
|
+
var master_styles = [
|
|
32075
|
+
'<office:master-styles>',
|
|
32076
|
+
'<style:master-page style:name="mp1" style:page-layout-name="mp1">',
|
|
32077
|
+
'<style:header/>',
|
|
32078
|
+
'<style:header-left style:display="false"/>',
|
|
32079
|
+
'<style:footer/>',
|
|
32080
|
+
'<style:footer-left style:display="false"/>',
|
|
32081
|
+
'</style:master-page>',
|
|
32082
|
+
'</office:master-styles>'
|
|
32083
|
+
].join("");
|
|
31997
32084
|
|
|
31998
32085
|
var payload = '<office:document-styles ' + wxt_helper({
|
|
31999
32086
|
'xmlns:office': "urn:oasis:names:tc:opendocument:xmlns:office:1.0",
|
|
@@ -32410,6 +32497,11 @@ function parse_zip(zip, opts) {
|
|
|
32410
32497
|
if(safegetzipfile(zip, 'objectdata.xml')) return parse_ods(zip, opts);
|
|
32411
32498
|
/* Numbers */
|
|
32412
32499
|
if(safegetzipfile(zip, 'Index/Document.iwa')) throw new Error('Unsupported NUMBERS file');
|
|
32500
|
+
if(!safegetzipfile(zip, '[Content_Types].xml')) {
|
|
32501
|
+
if(safegetzipfile(zip, 'index.xml.gz')) throw new Error('Unsupported NUMBERS 08 file');
|
|
32502
|
+
if(safegetzipfile(zip, 'index.xml')) throw new Error('Unsupported NUMBERS 09 file');
|
|
32503
|
+
throw new Error('Unsupported ZIP file');
|
|
32504
|
+
}
|
|
32413
32505
|
|
|
32414
32506
|
var entries = zipentries(zip);
|
|
32415
32507
|
var dir = parse_ct((getzipstr(zip, '[Content_Types].xml')));
|
|
@@ -32827,12 +32919,20 @@ function readSync(data, opts) {
|
|
|
32827
32919
|
case 0x54: if(n[1] === 0x41 && n[2] === 0x42 && n[3] === 0x4C) return DIF.to_workbook(d, o); break;
|
|
32828
32920
|
case 0x50: return (n[1] === 0x4B && n[2] < 0x09 && n[3] < 0x09) ? read_zip(d, o) : read_prn(data, d, o, str);
|
|
32829
32921
|
case 0xEF: return n[3] === 0x3C ? parse_xlml(d, o) : read_prn(data, d, o, str);
|
|
32830
|
-
case 0xFF:
|
|
32831
|
-
|
|
32922
|
+
case 0xFF:
|
|
32923
|
+
if(n[1] === 0xFE) { return read_utf16(d, o); }
|
|
32924
|
+
else if(n[1] === 0x00 && n[2] === 0x02 && n[3] === 0x00) return WK_.to_workbook(d, o);
|
|
32925
|
+
break;
|
|
32926
|
+
case 0x00:
|
|
32927
|
+
if(n[1] === 0x00) {
|
|
32928
|
+
if(n[2] >= 0x02 && n[3] === 0x00) return WK_.to_workbook(d, o);
|
|
32929
|
+
if(n[2] === 0x00 && (n[3] === 0x08 || n[3] === 0x09)) return WK_.to_workbook(d, o);
|
|
32930
|
+
}
|
|
32931
|
+
break;
|
|
32832
32932
|
case 0x03: case 0x83: case 0x8B: case 0x8C: return DBF.to_workbook(d, o);
|
|
32833
32933
|
case 0x7B: if(n[1] === 0x5C && n[2] === 0x72 && n[3] === 0x74) return RTF.to_workbook(d, o); break;
|
|
32834
32934
|
case 0x0A: case 0x0D: case 0x20: return read_plaintext_raw(d, o);
|
|
32835
|
-
case 0x89: if(n[1] === 0x50 && n[2] === 0x4E && n[3] === 0x47) throw new Error("PNG Image File is not a spreadsheet"); break;
|
|
32935
|
+
case 0x89: if(n[1] === 0x50 && n[2] === 0x4E && n[3] === 0x47) throw new Error("PNG Image File is not a spreadsheet"); break;
|
|
32836
32936
|
}
|
|
32837
32937
|
if(DBF.versions.indexOf(n[0]) > -1 && n[2] <= 12 && n[3] <= 31) return DBF.to_workbook(d, o);
|
|
32838
32938
|
return read_prn(data, d, o, str);
|
|
@@ -33379,7 +33479,10 @@ return utils;
|
|
|
33379
33479
|
})(utils);
|
|
33380
33480
|
|
|
33381
33481
|
if(has_buf && typeof commonjsRequire != 'undefined') (function() {
|
|
33382
|
-
var
|
|
33482
|
+
var strmod = require$$0;
|
|
33483
|
+
if(!strmod) return;
|
|
33484
|
+
var Readable = strmod.Readable;
|
|
33485
|
+
if(!Readable) return;
|
|
33383
33486
|
|
|
33384
33487
|
var write_csv_stream = function(sheet, opts) {
|
|
33385
33488
|
var stream = Readable();
|
|
@@ -33516,7 +33619,7 @@ if(typeof CFB !== "undefined") XLSX.CFB = CFB;
|
|
|
33516
33619
|
/*global define */
|
|
33517
33620
|
make_xlsx_lib(exports);
|
|
33518
33621
|
/* NOTE: the following extra line is needed for "Lightning Locker Service" */
|
|
33519
|
-
if(typeof window !== 'undefined' && !window.XLSX) window.XLSX = XLSX;
|
|
33622
|
+
if(typeof window !== 'undefined' && !window.XLSX) try { window.XLSX = XLSX; } catch(e) {}
|
|
33520
33623
|
}(xlsx, xlsx.exports));
|
|
33521
33624
|
|
|
33522
33625
|
var _castCellValueToStr = cellValue => {
|