2017-03-20 09:02:25 +00:00
|
|
|
## 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:
|
|
|
|
|
2017-04-30 20:37:53 +00:00
|
|
|
<details>
|
|
|
|
<summary><b>nodejs write a file</b> (click to show)</summary>
|
2017-03-20 09:02:25 +00:00
|
|
|
|
|
|
|
```js
|
|
|
|
/* output format determined by filename */
|
|
|
|
XLSX.writeFile(workbook, 'out.xlsx');
|
|
|
|
/* at this point, out.xlsx is a file that you can distribute */
|
|
|
|
```
|
|
|
|
|
2017-04-30 20:37:53 +00:00
|
|
|
</details>
|
|
|
|
|
|
|
|
<details>
|
|
|
|
<summary><b>Browser download file</b> (click to show)</summary>
|
|
|
|
|
|
|
|
Note: browser generates binary blob and forces a "download" to client. This
|
|
|
|
example uses [FileSaver.js](https://github.com/eligrey/FileSaver.js/):
|
2017-03-20 09:02:25 +00:00
|
|
|
|
|
|
|
```js
|
2017-05-16 17:45:35 +00:00
|
|
|
/* bookType can be any supported output type */
|
2017-03-20 09:02:25 +00:00
|
|
|
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");
|
|
|
|
```
|
2017-04-30 20:37:53 +00:00
|
|
|
</details>
|
2017-03-20 09:02:25 +00:00
|
|
|
|
2017-07-05 22:27:54 +00:00
|
|
|
### Writing Examples
|
2017-03-20 09:02:25 +00:00
|
|
|
|
|
|
|
- <http://sheetjs.com/demos/table.html> exporting an HTML table
|
2017-04-30 20:37:53 +00:00
|
|
|
- <http://sheetjs.com/demos/writexlsx.html> generates a simple file
|
2017-03-20 09:02:25 +00:00
|
|
|
|