forked from sheetjs/sheetjs
1.3 KiB
1.3 KiB
Writing Workbooks
For writing, the first step is to generate output data. The helper functions
write
and writeFile
will produce the data in various formats suitable for
dissemination. The second step is to actual share the data with the end point.
Assuming workbook
is a workbook object:
- nodejs write to file:
/* output format determined by filename */
XLSX.writeFile(workbook, 'out.xlsx');
/* at this point, out.xlsx is a file that you can distribute */
- browser generate binary blob and "download" to client (using FileSaver.js for download):
/* bookType can be 'xlsx' or 'xlsm' or 'xlsb' or 'ods' */
var wopts = { bookType:'xlsx', bookSST:false, type:'binary' };
var wbout = XLSX.write(workbook,wopts);
function s2ab(s) {
var buf = new ArrayBuffer(s.length);
var view = new Uint8Array(buf);
for (var i=0; i!=s.length; ++i) view[i] = s.charCodeAt(i) & 0xFF;
return buf;
}
/* the saveAs call downloads a file on the local machine */
saveAs(new Blob([s2ab(wbout)],{type:"application/octet-stream"}), "test.xlsx");
Complete examples:
- http://sheetjs.com/demos/writexlsx.html generates a simple file
- http://git.io/WEK88Q writing an array of arrays in nodejs
- http://sheetjs.com/demos/table.html exporting an HTML table