SheetJS
6bc24374b9
- parsexmltag and other hot functions now better optimized for v8 - monomorphic functions (different types -> different funcs) - more efficient decode_range implementation when source is trusted - regular expressions cached and simplified without breaking correctness - more efficient utf8 techniques when available - XLSX: large functions broken down into sub-functions (e.g. `parse_ws_xml`) - XLSB: avoid unnecessary binds - XLSB: assume no exotic codepage exists (no one else tries to write XLSB) - demo exposes rABS / worker / transferable options - more tests - jszip updated to 2.3.0 - SSF updated to 0.8.1 - codepage updated to 1.3.1
101 lines
2.5 KiB
JavaScript
101 lines
2.5 KiB
JavaScript
/* 18.2.28 (CT_WorkbookProtection) Defaults */
|
|
var WBPropsDef = [
|
|
['allowRefreshQuery', '0'],
|
|
['autoCompressPictures', '1'],
|
|
['backupFile', '0'],
|
|
['checkCompatibility', '0'],
|
|
['codeName', ''],
|
|
['date1904', '0'],
|
|
['dateCompatibility', '1'],
|
|
//['defaultThemeVersion', '0'],
|
|
['filterPrivacy', '0'],
|
|
['hidePivotFieldList', '0'],
|
|
['promptedSolutions', '0'],
|
|
['publishItems', '0'],
|
|
['refreshAllConnections', false],
|
|
['saveExternalLinkValues', '1'],
|
|
['showBorderUnselectedTables', '1'],
|
|
['showInkAnnotation', '1'],
|
|
['showObjects', 'all'],
|
|
['showPivotChartFilter', '0']
|
|
//['updateLinks', 'userSet']
|
|
];
|
|
|
|
/* 18.2.30 (CT_BookView) Defaults */
|
|
var WBViewDef = [
|
|
['activeTab', '0'],
|
|
['autoFilterDateGrouping', '1'],
|
|
['firstSheet', '0'],
|
|
['minimized', '0'],
|
|
['showHorizontalScroll', '1'],
|
|
['showSheetTabs', '1'],
|
|
['showVerticalScroll', '1'],
|
|
['tabRatio', '600'],
|
|
['visibility', 'visible']
|
|
//window{Height,Width}, {x,y}Window
|
|
];
|
|
|
|
/* 18.2.19 (CT_Sheet) Defaults */
|
|
var SheetDef = [
|
|
['state', 'visible']
|
|
];
|
|
|
|
/* 18.2.2 (CT_CalcPr) Defaults */
|
|
var CalcPrDef = [
|
|
['calcCompleted', 'true'],
|
|
['calcMode', 'auto'],
|
|
['calcOnSave', 'true'],
|
|
['concurrentCalc', 'true'],
|
|
['fullCalcOnLoad', 'false'],
|
|
['fullPrecision', 'true'],
|
|
['iterate', 'false'],
|
|
['iterateCount', '100'],
|
|
['iterateDelta', '0.001'],
|
|
['refMode', 'A1']
|
|
];
|
|
|
|
/* 18.2.3 (CT_CustomWorkbookView) Defaults */
|
|
var CustomWBViewDef = [
|
|
['autoUpdate', 'false'],
|
|
['changesSavedWin', 'false'],
|
|
['includeHiddenRowCol', 'true'],
|
|
['includePrintSettings', 'true'],
|
|
['maximized', 'false'],
|
|
['minimized', 'false'],
|
|
['onlySync', 'false'],
|
|
['personalView', 'false'],
|
|
['showComments', 'commIndicator'],
|
|
['showFormulaBar', 'true'],
|
|
['showHorizontalScroll', 'true'],
|
|
['showObjects', 'all'],
|
|
['showSheetTabs', 'true'],
|
|
['showStatusbar', 'true'],
|
|
['showVerticalScroll', 'true'],
|
|
['tabRatio', '600'],
|
|
['xWindow', '0'],
|
|
['yWindow', '0']
|
|
];
|
|
|
|
function push_defaults_array(target, defaults) {
|
|
for(var j = 0; j != target.length; ++j) { var w = target[j];
|
|
for(var i=0; i != defaults.length; ++i) { var z = defaults[i];
|
|
if(w[z[0]] == null) w[z[0]] = z[1];
|
|
}
|
|
}
|
|
}
|
|
function push_defaults(target, defaults) {
|
|
for(var i = 0; i != defaults.length; ++i) { var z = defaults[i];
|
|
if(target[z[0]] == null) target[z[0]] = z[1];
|
|
}
|
|
}
|
|
|
|
function parse_wb_defaults(wb) {
|
|
push_defaults(wb.WBProps, WBPropsDef);
|
|
push_defaults(wb.CalcPr, CalcPrDef);
|
|
|
|
push_defaults_array(wb.WBView, WBViewDef);
|
|
push_defaults_array(wb.Sheets, SheetDef);
|
|
|
|
_ssfopts.date1904 = parsexmlbool(wb.WBProps.date1904, 'date1904');
|
|
}
|