forked from sheetjs/sheetjs
SheetJS
a3d9c4d9ac
- basic style + theme parsing, option .cellStyles (h/t @eladxxx) - more XLSB writing stubs - correct resolution of .xml/.bin files - sheet_to_json improvements from js-xls o opts.header = 1 for array of arrays o opts.header = 'A' for spreadsheet column labels o custom opts.header array for custom labels o opts.range = n starts from row n o opts.range = range restricts writer to work within the specified range - Makefile adapted to work with cygwin on windows
22 lines
609 B
JavaScript
22 lines
609 B
JavaScript
function isval(x) { return typeof x !== "undefined" && x !== null; }
|
|
|
|
function keys(o) { return Object.keys(o).filter(function(x) { return o.hasOwnProperty(x); }); }
|
|
|
|
function evert(obj, arr) {
|
|
var o = {};
|
|
keys(obj).forEach(function(k) {
|
|
if(!obj.hasOwnProperty(k)) return;
|
|
if(arr && typeof arr === "string") o[obj[k][arr]] = k;
|
|
if(!arr) o[obj[k]] = k;
|
|
else (o[obj[k]]=o[obj[k]]||[]).push(k);
|
|
});
|
|
return o;
|
|
}
|
|
|
|
/* TODO: date1904 logic */
|
|
function datenum(v, date1904) {
|
|
if(date1904) v+=1462;
|
|
var epoch = Date.parse(v);
|
|
return (epoch - new Date(Date.UTC(1899, 11, 30))) / (24 * 60 * 60 * 1000);
|
|
}
|