提交 6a913d3a 编写于 作者: S SheetJS

version bump 0.10.8

- TS definition removed DOM references (fixes #724 h/t @shaunc)
- extendscript inconsistent processing of bitwise ops
- updated browser tests
上级 d28cc872
XLSX.version = '0.10.7'; XLSX.version = '0.10.8';
...@@ -86,7 +86,7 @@ var utf8read/*:StringConv*/ = function utf8reada(orig) { ...@@ -86,7 +86,7 @@ var utf8read/*:StringConv*/ = function utf8reada(orig) {
c = orig.charCodeAt(i++); c = orig.charCodeAt(i++);
if (c < 128) { out += String.fromCharCode(c); continue; } if (c < 128) { out += String.fromCharCode(c); continue; }
d = orig.charCodeAt(i++); d = orig.charCodeAt(i++);
if (c>191 && c<224) { out += String.fromCharCode(((c & 31) << 6) | (d & 63)); continue; } if (c>191 && c<224) { f = ((c & 31) << 6); f |= (d & 63); out += String.fromCharCode(f); continue; }
e = orig.charCodeAt(i++); e = orig.charCodeAt(i++);
if (c < 240) { out += String.fromCharCode(((c & 15) << 12) | ((d & 63) << 6) | (e & 63)); continue; } if (c < 240) { out += String.fromCharCode(((c & 15) << 12) | ((d & 63) << 6) | (e & 63)); continue; }
f = orig.charCodeAt(i++); f = orig.charCodeAt(i++);
......
...@@ -41,6 +41,7 @@ function parse_ext_props(data, p) { ...@@ -41,6 +41,7 @@ function parse_ext_props(data, p) {
case "Worksheets": case "Worksheets":
case "工作表": case "工作表":
case "Листы": case "Листы":
case "أوراق العمل":
case "ワークシート": case "ワークシート":
case "גליונות עבודה": case "גליונות עבודה":
case "Arbeitsblätter": case "Arbeitsblätter":
......
...@@ -42,7 +42,7 @@ function parse_clrScheme(t, themes, opts) { ...@@ -42,7 +42,7 @@ function parse_clrScheme(t, themes, opts) {
case '<a:accent6>': case '</a:accent6>': case '<a:accent6>': case '</a:accent6>':
case '<a:hlink>': case '</a:hlink>': case '<a:hlink>': case '</a:hlink>':
case '<a:folHlink>': case '</a:folHlink>': case '<a:folHlink>': case '</a:folHlink>':
if (y[0][1] === '/') { if (y[0].charAt(1) === '/') {
themes.themeElements.clrScheme.push(color); themes.themeElements.clrScheme.push(color);
color = {}; color = {};
} else { } else {
......
...@@ -364,7 +364,9 @@ return function parse_ws_xml_data(sdata, s, opts, guess, themes, styles) { ...@@ -364,7 +364,9 @@ return function parse_ws_xml_data(sdata, s, opts, guess, themes, styles) {
cf = styles.CellXf[tag.s]; cf = styles.CellXf[tag.s];
if(cf != null) { if(cf != null) {
if(cf.numFmtId != null) fmtid = cf.numFmtId; if(cf.numFmtId != null) fmtid = cf.numFmtId;
if(opts.cellStyles && cf.fillId != null) fillid = cf.fillId; if(opts.cellStyles) {
if(cf.fillId != null) fillid = cf.fillId;
}
} }
} }
safe_format(p, fmtid, fillid, opts, themes, styles); safe_format(p, fmtid, fillid, opts, themes, styles);
......
...@@ -477,7 +477,7 @@ function parse_ws_bin(data, _opts, rels, wb, themes, styles)/*:Worksheet*/ { ...@@ -477,7 +477,7 @@ function parse_ws_bin(data, _opts, rels, wb, themes, styles)/*:Worksheet*/ {
break; break;
case 0x0001: /* 'BrtCellBlank' */ case 0x0001: /* 'BrtCellBlank' */
if(!opts.sheetStubs) break; if(!opts.sheetStubs || pass) break;
p = ({t:'z',v:undefined}/*:any*/); p = ({t:'z',v:undefined}/*:any*/);
C = val[0].c; C = val[0].c;
if(opts.dense) { if(!s[R]) s[R] = []; s[R][C] = p; } if(opts.dense) { if(!s[R]) s[R] = []; s[R][C] = p; }
...@@ -543,6 +543,7 @@ function parse_ws_bin(data, _opts, rels, wb, themes, styles)/*:Worksheet*/ { ...@@ -543,6 +543,7 @@ function parse_ws_bin(data, _opts, rels, wb, themes, styles)/*:Worksheet*/ {
s['!margins'] = val; s['!margins'] = val;
break; break;
case 0x01E5: /* 'BrtWsFmtInfo' */
/* case 'BrtUid' */ /* case 'BrtUid' */
case 0x00AF: /* 'BrtAFilterDateGroupItem' */ case 0x00AF: /* 'BrtAFilterDateGroupItem' */
case 0x0284: /* 'BrtActiveX' */ case 0x0284: /* 'BrtActiveX' */
...@@ -595,7 +596,6 @@ function parse_ws_bin(data, _opts, rels, wb, themes, styles)/*:Worksheet*/ { ...@@ -595,7 +596,6 @@ function parse_ws_bin(data, _opts, rels, wb, themes, styles)/*:Worksheet*/ {
case 0x00AA: /* 'BrtTop10Filter' */ case 0x00AA: /* 'BrtTop10Filter' */
case 0x0032: /* 'BrtValueMeta' */ case 0x0032: /* 'BrtValueMeta' */
case 0x0816: /* 'BrtWebExtension' */ case 0x0816: /* 'BrtWebExtension' */
case 0x01E5: /* 'BrtWsFmtInfo' */
case 0x0415: /* 'BrtWsFmtInfoEx14' */ case 0x0415: /* 'BrtWsFmtInfoEx14' */
case 0x0093: /* 'BrtWsProp' */ case 0x0093: /* 'BrtWsProp' */
break; break;
......
...@@ -139,6 +139,9 @@ function parse_wb_xml(data, opts)/*:WorkbookFile*/ { ...@@ -139,6 +139,9 @@ function parse_wb_xml(data, opts)/*:WorkbookFile*/ {
case '<AlternateContent': pass=true; break; case '<AlternateContent': pass=true; break;
case '</AlternateContent>': pass=false; break; case '</AlternateContent>': pass=false; break;
/* TODO */
case '<revisionPtr': break;
default: if(!pass && opts.WTF) throw new Error('unrecognized ' + y[0] + ' in workbook'); default: if(!pass && opts.WTF) throw new Error('unrecognized ' + y[0] + ' in workbook');
} }
return x; return x;
......
...@@ -100,6 +100,9 @@ function parse_wb_bin(data, opts)/*:WorkbookFile*/ { ...@@ -100,6 +100,9 @@ function parse_wb_bin(data, opts)/*:WorkbookFile*/ {
supbooks.SheetNames.push(val.name); supbooks.SheetNames.push(val.name);
wb.Sheets.push(val); break; wb.Sheets.push(val); break;
case 0x0099: /* 'BrtWbProp' */
wb.WBProps = val; break;
case 0x0027: /* 'BrtName' */ case 0x0027: /* 'BrtName' */
val.Ref = stringify_formula(val.Ptg, null, null, supbooks, opts); val.Ref = stringify_formula(val.Ptg, null, null, supbooks, opts);
delete val.Ptg; delete val.Ptg;
...@@ -107,8 +110,13 @@ function parse_wb_bin(data, opts)/*:WorkbookFile*/ { ...@@ -107,8 +110,13 @@ function parse_wb_bin(data, opts)/*:WorkbookFile*/ {
break; break;
case 0x040C: /* 'BrtNameExt' */ break; case 0x040C: /* 'BrtNameExt' */ break;
case 0x0099: /* 'BrtWbProp' */ case 0x0165: /* 'BrtSupSelf' */
wb.WBProps = val; break; case 0x0166: /* 'BrtSupSame' */
case 0x0163: /* 'BrtSupBookSrc' */
case 0x029B: /* 'BrtSupAddin' */
case 0x016A: /* 'BrtExternSheet' */
case 0x0169: /* 'BrtPlaceholderName' */
break;
/* case 'BrtModelTimeGroupingCalcCol' */ /* case 'BrtModelTimeGroupingCalcCol' */
/* case 'BrtRevisionPtr' */ /* case 'BrtRevisionPtr' */
...@@ -120,7 +128,6 @@ function parse_wb_bin(data, opts)/*:WorkbookFile*/ { ...@@ -120,7 +128,6 @@ function parse_wb_bin(data, opts)/*:WorkbookFile*/ {
case 0x009D: /* 'BrtCalcProp' */ case 0x009D: /* 'BrtCalcProp' */
case 0x0262: /* 'BrtCrashRecErr' */ case 0x0262: /* 'BrtCrashRecErr' */
case 0x0802: /* 'BrtDecoupledPivotCacheID' */ case 0x0802: /* 'BrtDecoupledPivotCacheID' */
case 0x016A: /* 'BrtExternSheet' */
case 0x009B: /* 'BrtFileRecover' */ case 0x009B: /* 'BrtFileRecover' */
case 0x0224: /* 'BrtFileSharing' */ case 0x0224: /* 'BrtFileSharing' */
case 0x02A4: /* 'BrtFileSharingIso' */ case 0x02A4: /* 'BrtFileSharingIso' */
...@@ -130,12 +137,7 @@ function parse_wb_bin(data, opts)/*:WorkbookFile*/ { ...@@ -130,12 +137,7 @@ function parse_wb_bin(data, opts)/*:WorkbookFile*/ {
case 0x084D: /* 'BrtModelTable' */ case 0x084D: /* 'BrtModelTable' */
case 0x0225: /* 'BrtOleSize' */ case 0x0225: /* 'BrtOleSize' */
case 0x0805: /* 'BrtPivotTableRef' */ case 0x0805: /* 'BrtPivotTableRef' */
case 0x0169: /* 'BrtPlaceholderName' */
case 0x0254: /* 'BrtSmartTagType' */ case 0x0254: /* 'BrtSmartTagType' */
case 0x029B: /* 'BrtSupAddin' */
case 0x0163: /* 'BrtSupBookSrc' */
case 0x0166: /* 'BrtSupSame' */
case 0x0165: /* 'BrtSupSelf' */
case 0x081C: /* 'BrtTableSlicerCacheID' */ case 0x081C: /* 'BrtTableSlicerCacheID' */
case 0x081B: /* 'BrtTableSlicerCacheIDs' */ case 0x081B: /* 'BrtTableSlicerCacheIDs' */
case 0x0822: /* 'BrtTimelineCachePivotCacheID' */ case 0x0822: /* 'BrtTimelineCachePivotCacheID' */
......
...@@ -288,7 +288,7 @@ var XLSBRecordEnum = { ...@@ -288,7 +288,7 @@ var XLSBRecordEnum = {
/*::[*/0x0160/*::]*/: { n:"BrtListTrFmla", f:parsenoop }, /*::[*/0x0160/*::]*/: { n:"BrtListTrFmla", f:parsenoop },
/*::[*/0x0161/*::]*/: { n:"BrtBeginExternals", f:parsenoop }, /*::[*/0x0161/*::]*/: { n:"BrtBeginExternals", f:parsenoop },
/*::[*/0x0162/*::]*/: { n:"BrtEndExternals", f:parsenoop }, /*::[*/0x0162/*::]*/: { n:"BrtEndExternals", f:parsenoop },
/*::[*/0x0163/*::]*/: { n:"BrtSupBookSrc", f:parsenoop }, /*::[*/0x0163/*::]*/: { n:"BrtSupBookSrc", f:parse_RelID},
/*::[*/0x0165/*::]*/: { n:"BrtSupSelf", f:parsenoop }, /*::[*/0x0165/*::]*/: { n:"BrtSupSelf", f:parsenoop },
/*::[*/0x0166/*::]*/: { n:"BrtSupSame", f:parsenoop }, /*::[*/0x0166/*::]*/: { n:"BrtSupSame", f:parsenoop },
/*::[*/0x0167/*::]*/: { n:"BrtSupTabs", f:parsenoop }, /*::[*/0x0167/*::]*/: { n:"BrtSupTabs", f:parsenoop },
......
此差异由.gitattributes 抑制。
此差异由.gitattributes 抑制。
此差异由.gitattributes 抑制。
此差异由.gitattributes 抑制。
此差异由.gitattributes 抑制。
此差异由.gitattributes 抑制。
此差异由.gitattributes 抑制。
{ {
"name": "xlsx", "name": "xlsx",
"version": "0.10.7", "version": "0.10.8",
"author": "sheetjs", "author": "sheetjs",
"description": "Excel (XLSB/XLSX/XLS/XML) ODS and other spreadsheet format (CSV/DIF/DBF/SYLK) parser and writer", "description": "Excel (XLSB/XLSX/XLS/XML) ODS and other spreadsheet format (CSV/DIF/DBF/SYLK) parser and writer",
"keywords": [ "excel", "xls", "xlsx", "xlsb", "xlsm", "ods", "csv", "dbf", "dif", "sylk", "office", "spreadsheet" ], "keywords": [ "excel", "xls", "xlsx", "xlsb", "xlsm", "ods", "csv", "dbf", "dif", "sylk", "office", "spreadsheet" ],
......
...@@ -29,6 +29,7 @@ number_format.xlsb ...@@ -29,6 +29,7 @@ number_format.xlsb
number_format_entities.xlsb number_format_entities.xlsb
number_format_russian.xlsb number_format_russian.xlsb
numfmt_1_russian.xlsb numfmt_1_russian.xlsb
outline.xlsb
phonetic_text.xlsb phonetic_text.xlsb
pivot_table_named_range.xlsb pivot_table_named_range.xlsb
pivot_table_test.xlsb pivot_table_test.xlsb
...@@ -362,6 +363,7 @@ openpyxl_r_formulae.xlsx ...@@ -362,6 +363,7 @@ openpyxl_r_formulae.xlsx
openpyxl_r_nonstandard_workbook_name.xlsx openpyxl_r_nonstandard_workbook_name.xlsx
openpyxl_r_null_archive.xlsx.pending openpyxl_r_null_archive.xlsx.pending
openpyxl_r_null_file.xlsx.pending openpyxl_r_null_file.xlsx.pending
outline.xlsx
phonetic_text.xlsx phonetic_text.xlsx
pivot_table_named_range.xlsx pivot_table_named_range.xlsx
rich_text_stress.xlsx rich_text_stress.xlsx
...@@ -553,6 +555,7 @@ cell_style_simple.ods ...@@ -553,6 +555,7 @@ cell_style_simple.ods
formula_stress_test.ods formula_stress_test.ods
merge_cells.ods merge_cells.ods
number_format.ods number_format.ods
outline.ods
rich_text_stress.ods rich_text_stress.ods
roo_numbers1.ods roo_numbers1.ods
roo_type_excel.ods roo_type_excel.ods
...@@ -1198,6 +1201,7 @@ number_format.xls ...@@ -1198,6 +1201,7 @@ number_format.xls
number_format_entities.xls number_format_entities.xls
number_format_russian.xls number_format_russian.xls
numfmt_1_russian.xls numfmt_1_russian.xls
outline.xls
phonetic_text.xls phonetic_text.xls
phpexcel_bad_cfb_dir.xls phpexcel_bad_cfb_dir.xls
pivot_table_named_range.xls pivot_table_named_range.xls
...@@ -1371,6 +1375,10 @@ xlsx-stream-d-date-cell.xlsx.xml ...@@ -1371,6 +1375,10 @@ xlsx-stream-d-date-cell.xlsx.xml
2013/apachepoi_54016.xls.xlsb 2013/apachepoi_54016.xls.xlsb
2013/apachepoi_ReadOnlyRecommended.xls.xlsb 2013/apachepoi_ReadOnlyRecommended.xls.xlsb
2013/apachepoi_testArraysAndTables.xls.xlsb 2013/apachepoi_testArraysAndTables.xls.xlsb
column_width.biff5
outline.biff5
row_height.biff5
sized_boxen.biff5
artifacts/quattro/write_.csv artifacts/quattro/write_.csv
artifacts/quattro/write_.dif artifacts/quattro/write_.dif
artifacts/quattro/write_.slk artifacts/quattro/write_.slk
......
此差异由.gitattributes 抑制。
此差异由.gitattributes 抑制。
...@@ -50,6 +50,11 @@ ...@@ -50,6 +50,11 @@
./test_files/number_format.xls.xml ./test_files/number_format.xls.xml
./test_files/number_format.xlsm ./test_files/number_format.xlsm
./test_files/number_format.xlsb ./test_files/number_format.xlsb
./test_files/outline.xls
./test_files/outline.biff5
./test_files/outline.xlsx
./test_files/outline.xlsb
./test_files/outline.ods
./test_files/page_margins_2016.xls ./test_files/page_margins_2016.xls
./test_files/page_margins_2016_5.xls ./test_files/page_margins_2016_5.xls
./test_files/page_margins_2016.xml ./test_files/page_margins_2016.xml
......
...@@ -30,7 +30,7 @@ fs.readdirSync = function(p) { return Object.keys(fs).filter(function(n) { ...@@ -30,7 +30,7 @@ fs.readdirSync = function(p) { return Object.keys(fs).filter(function(n) {
return fs.hasOwnProperty(n) && n.slice(-4) != "Sync"; }); return fs.hasOwnProperty(n) && n.slice(-4) != "Sync"; });
}; };
fs.readFileSync = function(f, enc) { fs.readFileSync = function(f, enc) {
if(!fs[f]) throw "File not found: " + f; if(!fs[f]) throw new Error("File not found: " + f);
fs[f].length; fs[f].length;
switch(enc) { switch(enc) {
case 'base64': return fs[f]; case 'base64': return fs[f];
......
...@@ -620,9 +620,9 @@ export interface XLSX$Utils { ...@@ -620,9 +620,9 @@ export interface XLSX$Utils {
json_to_sheet<T>(data: T[], opts?: JSON2SheetOpts): WorkSheet; json_to_sheet<T>(data: T[], opts?: JSON2SheetOpts): WorkSheet;
json_to_sheet(data: any[], opts?: JSON2SheetOpts): WorkSheet; json_to_sheet(data: any[], opts?: JSON2SheetOpts): WorkSheet;
/** Converts a TABLE DOM element to a worksheet. */ /** BROWSER ONLY! Converts a TABLE DOM element to a worksheet. */
table_to_sheet(data: HTMLTableElement, opts?: Table2SheetOpts): WorkSheet; table_to_sheet(data: any, opts?: Table2SheetOpts): WorkSheet;
table_to_book(data: HTMLTableElement, opts?: Table2SheetOpts): WorkBook; table_to_book(data: any, opts?: Table2SheetOpts): WorkBook;
/* --- Export Functions --- */ /* --- Export Functions --- */
......
{ {
"compilerOptions": { "compilerOptions": {
"module": "commonjs", "module": "commonjs",
"lib": [ "es5", "dom" ], "lib": [ "es5" ],
"noImplicitAny": true, "noImplicitAny": true,
"noImplicitThis": true, "noImplicitThis": true,
"strictNullChecks": false, "strictNullChecks": false,
......
...@@ -6,7 +6,7 @@ ...@@ -6,7 +6,7 @@
/*global global, exports, module, require:false, process:false, Buffer:false */ /*global global, exports, module, require:false, process:false, Buffer:false */
var XLSX = {}; var XLSX = {};
(function make_xlsx(XLSX){ (function make_xlsx(XLSX){
XLSX.version = '0.10.7'; XLSX.version = '0.10.8';
var current_codepage = 1200; var current_codepage = 1200;
/*:: declare var cptable:any; */ /*:: declare var cptable:any; */
/*global cptable:true */ /*global cptable:true */
...@@ -1733,7 +1733,7 @@ var utf8read/*:StringConv*/ = function utf8reada(orig) { ...@@ -1733,7 +1733,7 @@ var utf8read/*:StringConv*/ = function utf8reada(orig) {
c = orig.charCodeAt(i++); c = orig.charCodeAt(i++);
if (c < 128) { out += String.fromCharCode(c); continue; } if (c < 128) { out += String.fromCharCode(c); continue; }
d = orig.charCodeAt(i++); d = orig.charCodeAt(i++);
if (c>191 && c<224) { out += String.fromCharCode(((c & 31) << 6) | (d & 63)); continue; } if (c>191 && c<224) { f = ((c & 31) << 6); f |= (d & 63); out += String.fromCharCode(f); continue; }
e = orig.charCodeAt(i++); e = orig.charCodeAt(i++);
if (c < 240) { out += String.fromCharCode(((c & 15) << 12) | ((d & 63) << 6) | (e & 63)); continue; } if (c < 240) { out += String.fromCharCode(((c & 15) << 12) | ((d & 63) << 6) | (e & 63)); continue; }
f = orig.charCodeAt(i++); f = orig.charCodeAt(i++);
...@@ -3410,6 +3410,7 @@ function parse_ext_props(data, p) { ...@@ -3410,6 +3410,7 @@ function parse_ext_props(data, p) {
case "Worksheets": case "Worksheets":
case "工作表": case "工作表":
case "Листы": case "Листы":
case "أوراق العمل":
case "ワークシート": case "ワークシート":
case "גליונות עבודה": case "גליונות עבודה":
case "Arbeitsblätter": case "Arbeitsblätter":
...@@ -7681,7 +7682,7 @@ function parse_clrScheme(t, themes, opts) { ...@@ -7681,7 +7682,7 @@ function parse_clrScheme(t, themes, opts) {
case '<a:accent6>': case '</a:accent6>': case '<a:accent6>': case '</a:accent6>':
case '<a:hlink>': case '</a:hlink>': case '<a:hlink>': case '</a:hlink>':
case '<a:folHlink>': case '</a:folHlink>': case '<a:folHlink>': case '</a:folHlink>':
if (y[0][1] === '/') { if (y[0].charAt(1) === '/') {
themes.themeElements.clrScheme.push(color); themes.themeElements.clrScheme.push(color);
color = {}; color = {};
} else { } else {
...@@ -11103,7 +11104,9 @@ return function parse_ws_xml_data(sdata, s, opts, guess, themes, styles) { ...@@ -11103,7 +11104,9 @@ return function parse_ws_xml_data(sdata, s, opts, guess, themes, styles) {
cf = styles.CellXf[tag.s]; cf = styles.CellXf[tag.s];
if(cf != null) { if(cf != null) {
if(cf.numFmtId != null) fmtid = cf.numFmtId; if(cf.numFmtId != null) fmtid = cf.numFmtId;
if(opts.cellStyles && cf.fillId != null) fillid = cf.fillId; if(opts.cellStyles) {
if(cf.fillId != null) fillid = cf.fillId;
}
} }
} }
safe_format(p, fmtid, fillid, opts, themes, styles); safe_format(p, fmtid, fillid, opts, themes, styles);
...@@ -11749,7 +11752,7 @@ function parse_ws_bin(data, _opts, rels, wb, themes, styles)/*:Worksheet*/ { ...@@ -11749,7 +11752,7 @@ function parse_ws_bin(data, _opts, rels, wb, themes, styles)/*:Worksheet*/ {
break; break;
case 0x0001: /* 'BrtCellBlank' */ case 0x0001: /* 'BrtCellBlank' */
if(!opts.sheetStubs) break; if(!opts.sheetStubs || pass) break;
p = ({t:'z',v:undefined}/*:any*/); p = ({t:'z',v:undefined}/*:any*/);
C = val[0].c; C = val[0].c;
if(opts.dense) { if(!s[R]) s[R] = []; s[R][C] = p; } if(opts.dense) { if(!s[R]) s[R] = []; s[R][C] = p; }
...@@ -11815,6 +11818,7 @@ function parse_ws_bin(data, _opts, rels, wb, themes, styles)/*:Worksheet*/ { ...@@ -11815,6 +11818,7 @@ function parse_ws_bin(data, _opts, rels, wb, themes, styles)/*:Worksheet*/ {
s['!margins'] = val; s['!margins'] = val;
break; break;
case 0x01E5: /* 'BrtWsFmtInfo' */
/* case 'BrtUid' */ /* case 'BrtUid' */
case 0x00AF: /* 'BrtAFilterDateGroupItem' */ case 0x00AF: /* 'BrtAFilterDateGroupItem' */
case 0x0284: /* 'BrtActiveX' */ case 0x0284: /* 'BrtActiveX' */
...@@ -11867,7 +11871,6 @@ function parse_ws_bin(data, _opts, rels, wb, themes, styles)/*:Worksheet*/ { ...@@ -11867,7 +11871,6 @@ function parse_ws_bin(data, _opts, rels, wb, themes, styles)/*:Worksheet*/ {
case 0x00AA: /* 'BrtTop10Filter' */ case 0x00AA: /* 'BrtTop10Filter' */
case 0x0032: /* 'BrtValueMeta' */ case 0x0032: /* 'BrtValueMeta' */
case 0x0816: /* 'BrtWebExtension' */ case 0x0816: /* 'BrtWebExtension' */
case 0x01E5: /* 'BrtWsFmtInfo' */
case 0x0415: /* 'BrtWsFmtInfoEx14' */ case 0x0415: /* 'BrtWsFmtInfoEx14' */
case 0x0093: /* 'BrtWsProp' */ case 0x0093: /* 'BrtWsProp' */
break; break;
...@@ -12504,6 +12507,9 @@ function parse_wb_xml(data, opts)/*:WorkbookFile*/ { ...@@ -12504,6 +12507,9 @@ function parse_wb_xml(data, opts)/*:WorkbookFile*/ {
case '<AlternateContent': pass=true; break; case '<AlternateContent': pass=true; break;
case '</AlternateContent>': pass=false; break; case '</AlternateContent>': pass=false; break;
/* TODO */
case '<revisionPtr': break;
default: if(!pass && opts.WTF) throw new Error('unrecognized ' + y[0] + ' in workbook'); default: if(!pass && opts.WTF) throw new Error('unrecognized ' + y[0] + ' in workbook');
} }
return x; return x;
...@@ -12691,6 +12697,9 @@ function parse_wb_bin(data, opts)/*:WorkbookFile*/ { ...@@ -12691,6 +12697,9 @@ function parse_wb_bin(data, opts)/*:WorkbookFile*/ {
supbooks.SheetNames.push(val.name); supbooks.SheetNames.push(val.name);
wb.Sheets.push(val); break; wb.Sheets.push(val); break;
case 0x0099: /* 'BrtWbProp' */
wb.WBProps = val; break;
case 0x0027: /* 'BrtName' */ case 0x0027: /* 'BrtName' */
val.Ref = stringify_formula(val.Ptg, null, null, supbooks, opts); val.Ref = stringify_formula(val.Ptg, null, null, supbooks, opts);
delete val.Ptg; delete val.Ptg;
...@@ -12698,8 +12707,13 @@ function parse_wb_bin(data, opts)/*:WorkbookFile*/ { ...@@ -12698,8 +12707,13 @@ function parse_wb_bin(data, opts)/*:WorkbookFile*/ {
break; break;
case 0x040C: /* 'BrtNameExt' */ break; case 0x040C: /* 'BrtNameExt' */ break;
case 0x0099: /* 'BrtWbProp' */ case 0x0165: /* 'BrtSupSelf' */
wb.WBProps = val; break; case 0x0166: /* 'BrtSupSame' */
case 0x0163: /* 'BrtSupBookSrc' */
case 0x029B: /* 'BrtSupAddin' */
case 0x016A: /* 'BrtExternSheet' */
case 0x0169: /* 'BrtPlaceholderName' */
break;
/* case 'BrtModelTimeGroupingCalcCol' */ /* case 'BrtModelTimeGroupingCalcCol' */
/* case 'BrtRevisionPtr' */ /* case 'BrtRevisionPtr' */
...@@ -12711,7 +12725,6 @@ function parse_wb_bin(data, opts)/*:WorkbookFile*/ { ...@@ -12711,7 +12725,6 @@ function parse_wb_bin(data, opts)/*:WorkbookFile*/ {
case 0x009D: /* 'BrtCalcProp' */ case 0x009D: /* 'BrtCalcProp' */
case 0x0262: /* 'BrtCrashRecErr' */ case 0x0262: /* 'BrtCrashRecErr' */
case 0x0802: /* 'BrtDecoupledPivotCacheID' */ case 0x0802: /* 'BrtDecoupledPivotCacheID' */
case 0x016A: /* 'BrtExternSheet' */
case 0x009B: /* 'BrtFileRecover' */ case 0x009B: /* 'BrtFileRecover' */
case 0x0224: /* 'BrtFileSharing' */ case 0x0224: /* 'BrtFileSharing' */
case 0x02A4: /* 'BrtFileSharingIso' */ case 0x02A4: /* 'BrtFileSharingIso' */
...@@ -12721,12 +12734,7 @@ function parse_wb_bin(data, opts)/*:WorkbookFile*/ { ...@@ -12721,12 +12734,7 @@ function parse_wb_bin(data, opts)/*:WorkbookFile*/ {
case 0x084D: /* 'BrtModelTable' */ case 0x084D: /* 'BrtModelTable' */
case 0x0225: /* 'BrtOleSize' */ case 0x0225: /* 'BrtOleSize' */
case 0x0805: /* 'BrtPivotTableRef' */ case 0x0805: /* 'BrtPivotTableRef' */
case 0x0169: /* 'BrtPlaceholderName' */
case 0x0254: /* 'BrtSmartTagType' */ case 0x0254: /* 'BrtSmartTagType' */
case 0x029B: /* 'BrtSupAddin' */
case 0x0163: /* 'BrtSupBookSrc' */
case 0x0166: /* 'BrtSupSame' */
case 0x0165: /* 'BrtSupSelf' */
case 0x081C: /* 'BrtTableSlicerCacheID' */ case 0x081C: /* 'BrtTableSlicerCacheID' */
case 0x081B: /* 'BrtTableSlicerCacheIDs' */ case 0x081B: /* 'BrtTableSlicerCacheIDs' */
case 0x0822: /* 'BrtTimelineCachePivotCacheID' */ case 0x0822: /* 'BrtTimelineCachePivotCacheID' */
...@@ -15155,7 +15163,7 @@ var XLSBRecordEnum = { ...@@ -15155,7 +15163,7 @@ var XLSBRecordEnum = {
/*::[*/0x0160/*::]*/: { n:"BrtListTrFmla", f:parsenoop }, /*::[*/0x0160/*::]*/: { n:"BrtListTrFmla", f:parsenoop },
/*::[*/0x0161/*::]*/: { n:"BrtBeginExternals", f:parsenoop }, /*::[*/0x0161/*::]*/: { n:"BrtBeginExternals", f:parsenoop },
/*::[*/0x0162/*::]*/: { n:"BrtEndExternals", f:parsenoop }, /*::[*/0x0162/*::]*/: { n:"BrtEndExternals", f:parsenoop },
/*::[*/0x0163/*::]*/: { n:"BrtSupBookSrc", f:parsenoop }, /*::[*/0x0163/*::]*/: { n:"BrtSupBookSrc", f:parse_RelID},
/*::[*/0x0165/*::]*/: { n:"BrtSupSelf", f:parsenoop }, /*::[*/0x0165/*::]*/: { n:"BrtSupSelf", f:parsenoop },
/*::[*/0x0166/*::]*/: { n:"BrtSupSame", f:parsenoop }, /*::[*/0x0166/*::]*/: { n:"BrtSupSame", f:parsenoop },
/*::[*/0x0167/*::]*/: { n:"BrtSupTabs", f:parsenoop }, /*::[*/0x0167/*::]*/: { n:"BrtSupTabs", f:parsenoop },
......
此差异由.gitattributes 抑制。
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册