forked from sheetjs/sheetjs
SheetJS
d15b81e0e9
- very basic XLSX / XLSM write support with roundtrip tests (XLSB stubs) - reorganized source tree - new XLSB range check ensures that A1 is not emitted for empty sheets - SSF table emitted in output (consistent with js-xls) - CLI supports writing Backwards-incompatible changes: o new Property aliases (see CORE_PROPS and EXT_PROPS) o FILETIME custom properties parsed as JS Dates o `xlsx2csv` -> `xlsx` (and `bin/xlsx{2csv,}.njs`)
23 lines
669 B
JavaScript
23 lines
669 B
JavaScript
function writeSync(wb, opts) {
|
|
var o = opts||{};
|
|
var z = write_zip(wb, o);
|
|
switch(o.type) {
|
|
case "base64": return z.generate({type:"base64"});
|
|
case "binary": return z.generate({type:"string"});
|
|
case "buffer": return z.generate({type:"nodebuffer"});
|
|
case "file": return _fs.writeFileSync(o.file, z.generate({type:"nodebuffer"}));
|
|
default: throw new Error("Unrecognized type " + o.type);
|
|
}
|
|
}
|
|
|
|
function writeFileSync(wb, filename, opts) {
|
|
var o = opts||{}; o.type = 'file';
|
|
o.file = filename;
|
|
switch(o.file.substr(-5).toLowerCase()) {
|
|
case '.xlsm': o.bookType = 'xlsm'; break;
|
|
case '.xlsb': o.bookType = 'xlsb'; break;
|
|
}
|
|
return writeSync(wb, o);
|
|
}
|
|
|