Extremely Popular
Latest
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308/* Parts enumerated in OPC spec, MS-XLSB and MS-XLSX *//* 12.3 Part Summary <SpreadsheetML> *//* 14.2 Part Summary <DrawingML> *//* [MS-XLSX] 2.1 Part Enumerations ; [MS-XLSB] 2.1.7 Part Enumeration */var ct2type/*{[string]:string}*/ = ({ /* Workbook */ "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml": "workbooks",
/* Worksheet */ "application/vnd.ms-excel.binIndexWs": "TODO", /* Binary Index */
/* Macrosheet */ "application/vnd.ms-excel.intlmacrosheet": "TODO", "application/vnd.ms-excel.binIndexMs": "TODO", /* Binary Index */
/* File Properties */ "application/vnd.openxmlformats-package.core-properties+xml": "coreprops", "application/vnd.openxmlformats-officedocument.custom-properties+xml": "custprops", "application/vnd.openxmlformats-officedocument.extended-properties+xml": "extprops",
/* Custom Data Properties */ "application/vnd.openxmlformats-officedocument.customXmlProperties+xml": "TODO", "application/vnd.openxmlformats-officedocument.spreadsheetml.customProperty": "TODO",
/* PivotTable */ "application/vnd.ms-excel.pivotTable": "TODO", "application/vnd.openxmlformats-officedocument.spreadsheetml.pivotTable+xml": "TODO",
/* Chart Objects */ "application/vnd.openxmlformats-officedocument.drawingml.chart+xml": "TODO",
/* Chart Colors */ "application/vnd.ms-office.chartcolorstyle+xml": "TODO",
/* Chart Style */ "application/vnd.ms-office.chartstyle+xml": "TODO",
/* Chart Advanced */ "application/vnd.ms-office.chartex+xml": "TODO",
/* Calculation Chain */ "application/vnd.ms-excel.calcChain": "calcchains", "application/vnd.openxmlformats-officedocument.spreadsheetml.calcChain+xml": "calcchains",
/* Printer Settings */ "application/vnd.openxmlformats-officedocument.spreadsheetml.printerSettings": "TODO",
/* ActiveX */ "application/vnd.ms-office.activeX": "TODO", "application/vnd.ms-office.activeX+xml": "TODO",
/* Custom Toolbars */ "application/vnd.ms-excel.attachedToolbars": "TODO",
/* External Data Connections */ "application/vnd.ms-excel.connections": "TODO", "application/vnd.openxmlformats-officedocument.spreadsheetml.connections+xml": "TODO",
/* External Links */ "application/vnd.ms-excel.externalLink": "links", "application/vnd.openxmlformats-officedocument.spreadsheetml.externalLink+xml": "links",
/* Metadata */ "application/vnd.ms-excel.sheetMetadata": "metadata", "application/vnd.openxmlformats-officedocument.spreadsheetml.sheetMetadata+xml": "metadata",
/* PivotCache */ "application/vnd.ms-excel.pivotCacheDefinition": "TODO", "application/vnd.ms-excel.pivotCacheRecords": "TODO", "application/vnd.openxmlformats-officedocument.spreadsheetml.pivotCacheDefinition+xml": "TODO", "application/vnd.openxmlformats-officedocument.spreadsheetml.pivotCacheRecords+xml": "TODO",
/* Query Table */ "application/vnd.ms-excel.queryTable": "TODO", "application/vnd.openxmlformats-officedocument.spreadsheetml.queryTable+xml": "TODO",
/* Shared Workbook */ "application/vnd.ms-excel.userNames": "TODO", "application/vnd.ms-excel.revisionHeaders": "TODO", "application/vnd.ms-excel.revisionLog": "TODO", "application/vnd.openxmlformats-officedocument.spreadsheetml.revisionHeaders+xml": "TODO", "application/vnd.openxmlformats-officedocument.spreadsheetml.revisionLog+xml": "TODO", "application/vnd.openxmlformats-officedocument.spreadsheetml.userNames+xml": "TODO",
/* Single Cell Table */ "application/vnd.ms-excel.tableSingleCells": "TODO", "application/vnd.openxmlformats-officedocument.spreadsheetml.tableSingleCells+xml": "TODO",
/* Slicer */ "application/vnd.ms-excel.slicer": "TODO", "application/vnd.ms-excel.slicerCache": "TODO", "application/vnd.ms-excel.slicer+xml": "TODO", "application/vnd.ms-excel.slicerCache+xml": "TODO",
/* Sort Map */ "application/vnd.ms-excel.wsSortMap": "TODO",
/* Table */ "application/vnd.ms-excel.table": "TODO", "application/vnd.openxmlformats-officedocument.spreadsheetml.table+xml": "TODO",
/* Themes */ "application/vnd.openxmlformats-officedocument.theme+xml": "themes",
/* Theme Override */ "application/vnd.openxmlformats-officedocument.themeOverride+xml": "TODO",
/* Timeline */ "application/vnd.ms-excel.Timeline+xml": "TODO", /* verify */ "application/vnd.ms-excel.TimelineCache+xml": "TODO", /* verify */
/* VBA */ "application/vnd.ms-office.vbaProject": "vba", "application/vnd.ms-office.vbaProjectSignature": "TODO",
/* Volatile Dependencies */ "application/vnd.ms-office.volatileDependencies": "TODO", "application/vnd.openxmlformats-officedocument.spreadsheetml.volatileDependencies+xml": "TODO",
/* Control Properties */ "application/vnd.ms-excel.controlproperties+xml": "TODO",
/* Data Model */ "application/vnd.openxmlformats-officedocument.model+data": "TODO",
/* Survey */ "application/vnd.ms-excel.Survey+xml": "TODO",
/* Drawing */ "application/vnd.openxmlformats-officedocument.drawing+xml": "drawings", "application/vnd.openxmlformats-officedocument.drawingml.chartshapes+xml": "TODO", "application/vnd.openxmlformats-officedocument.drawingml.diagramColors+xml": "TODO", "application/vnd.openxmlformats-officedocument.drawingml.diagramData+xml": "TODO", "application/vnd.openxmlformats-officedocument.drawingml.diagramLayout+xml": "TODO", "application/vnd.openxmlformats-officedocument.drawingml.diagramStyle+xml": "TODO",
/* VML */ "application/vnd.openxmlformats-officedocument.vmlDrawing": "TODO",
"application/vnd.openxmlformats-package.relationships+xml": "rels", "application/vnd.openxmlformats-officedocument.oleObject": "TODO",
/* Image */ "image/png": "TODO",
"sheet": "js"}/*:any*/);
var CT_LIST = (function(){ var o = { workbooks: { xlsx: "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml", xlsm: "application/vnd.ms-excel.sheet.macroEnabled.main+xml", xlsb: "application/vnd.ms-excel.sheet.binary.macroEnabled.main", xlam: "application/vnd.ms-excel.addin.macroEnabled.main+xml", xltx: "application/vnd.openxmlformats-officedocument.spreadsheetml.template.main+xml" }, strs: { /* Shared Strings */ xlsx: "application/vnd.openxmlformats-officedocument.spreadsheetml.sharedStrings+xml", xlsb: "application/vnd.ms-excel.sharedStrings" }, comments: { /* Comments */ xlsx: "application/vnd.openxmlformats-officedocument.spreadsheetml.comments+xml", xlsb: "application/vnd.ms-excel.comments" }, sheets: { /* Worksheet */ xlsx: "application/vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml", xlsb: "application/vnd.ms-excel.worksheet" }, charts: { /* Chartsheet */ xlsx: "application/vnd.openxmlformats-officedocument.spreadsheetml.chartsheet+xml", xlsb: "application/vnd.ms-excel.chartsheet" }, dialogs: { /* Dialogsheet */ xlsx: "application/vnd.openxmlformats-officedocument.spreadsheetml.dialogsheet+xml", xlsb: "application/vnd.ms-excel.dialogsheet" }, macros: { /* Macrosheet (Excel 4.0 Macros) */ xlsx: "application/vnd.ms-excel.macrosheet+xml", xlsb: "application/vnd.ms-excel.macrosheet" }, metadata: { /* Metadata (Stock/Geography and Dynamic Array) */ xlsx: "application/vnd.openxmlformats-officedocument.spreadsheetml.sheetMetadata+xml", xlsb: "application/vnd.ms-excel.sheetMetadata" }, styles: { /* Styles */ xlsx: "application/vnd.openxmlformats-officedocument.spreadsheetml.styles+xml", xlsb: "application/vnd.ms-excel.styles" } }; keys(o).forEach(function(k) { ["xlsm", "xlam"].forEach(function(v) { if(!o[k][v]) o[k][v] = o[k].xlsx; }); }); keys(o).forEach(function(k){ keys(o[k]).forEach(function(v) { ct2type[o[k][v]] = k; }); }); return o;})();
var type2ct/*{[string]:Array<string>}*/ = evert_arr(ct2type);
XMLNS.CT = 'http://schemas.openxmlformats.org/package/2006/content-types';
function new_ct()/*:any*/ { return ({ workbooks:[], sheets:[], charts:[], dialogs:[], macros:[], rels:[], strs:[], comments:[], links:[], coreprops:[], extprops:[], custprops:[], themes:[], styles:[], calcchains:[], vba: [], drawings: [], metadata: [], TODO:[], xmlns: "" }/*:any*/);}
function parse_ct(data/*:?string*/) { var ct = new_ct(); if(!data || !data.match) return ct; var ctext = {}; (data.match(tagregex)||[]).forEach(function(x) { var y = parsexmltag(x); switch(y[0].replace(nsregex,"<")) { case '<?xml': break; case '<Types': ct.xmlns = y['xmlns' + (y[0].match(/<(\w+):/)||["",""])[1] ]; break; case '<Default': ctext[y.Extension] = y.ContentType; break; case '<Override': if(ct[ct2type[y.ContentType]] !== undefined) ct[ct2type[y.ContentType]].push(y.PartName); break; } }); if(ct.xmlns !== XMLNS.CT) throw new Error("Unknown Namespace: " + ct.xmlns); ct.calcchain = ct.calcchains.length > 0 ? ct.calcchains[0] : ""; ct.sst = ct.strs.length > 0 ? ct.strs[0] : ""; ct.style = ct.styles.length > 0 ? ct.styles[0] : ""; ct.defaults = ctext; delete ct.calcchains; return ct;}
var CTYPE_XML_ROOT = writextag('Types', null, { 'xmlns': XMLNS.CT, 'xmlns:xsd': XMLNS.xsd, 'xmlns:xsi': XMLNS.xsi});
var CTYPE_DEFAULTS = [ ['xml', 'application/xml'], ['bin', 'application/vnd.ms-excel.sheet.binary.macroEnabled.main'], ['vml', 'application/vnd.openxmlformats-officedocument.vmlDrawing'], ['data', 'application/vnd.openxmlformats-officedocument.model+data'], /* from test files */ ['bmp', 'image/bmp'], ['png', 'image/png'], ['gif', 'image/gif'], ['emf', 'image/x-emf'], ['wmf', 'image/x-wmf'], ['jpg', 'image/jpeg'], ['jpeg', 'image/jpeg'], ['tif', 'image/tiff'], ['tiff', 'image/tiff'], ['pdf', 'application/pdf'], ['rels', type2ct.rels[0]]].map(function(x) { return writextag('Default', null, {'Extension':x[0], 'ContentType': x[1]});});
function write_ct(ct, opts)/*:string*/ { var o/*:Array<string>*/ = [], v; o[o.length] = (XML_HEADER); o[o.length] = (CTYPE_XML_ROOT); o = o.concat(CTYPE_DEFAULTS);
/* only write first instance */ var f1 = function(w) { if(ct[w] && ct[w].length > 0) { v = ct[w][0]; o[o.length] = (writextag('Override', null, { 'PartName': (v[0] == '/' ? "":"/") + v, 'ContentType': CT_LIST[w][opts.bookType || 'xlsx'] })); } };
/* book type-specific */ var f2 = function(w) { (ct[w]||[]).forEach(function(v) { o[o.length] = (writextag('Override', null, { 'PartName': (v[0] == '/' ? "":"/") + v, 'ContentType': CT_LIST[w][opts.bookType || 'xlsx'] })); }); };
/* standard type */ var f3 = function(t) { (ct[t]||[]).forEach(function(v) { o[o.length] = (writextag('Override', null, { 'PartName': (v[0] == '/' ? "":"/") + v, 'ContentType': type2ct[t][0] })); }); };
f1('workbooks'); f2('sheets'); f2('charts'); f3('themes'); ['strs', 'styles'].forEach(f1); ['coreprops', 'extprops', 'custprops'].forEach(f3); f3('vba'); f3('comments'); f3('drawings'); f2('metadata'); if(o.length>2){ o[o.length] = ('</Types>'); o[1]=o[1].replace("/>",">"); } return o.join("");}