sheetjs/demos/electron
SheetJS 08bb7e6e60 version bump 0.12.7: chrome extension
- `writeFile` support chrome extension (fixes #1051 h/t @atkinsam)
- demo refresh
2018-03-29 00:31:36 -04:00
..
.eslintrc version bump 0.12.7: chrome extension 2018-03-29 00:31:36 -04:00
Makefile version bump 0.12.7: chrome extension 2018-03-29 00:31:36 -04:00
README.md Electron README cleanup [ci skip] 2018-03-07 12:34:02 -05:00
index.html demo refresh [ci skip] 2017-09-24 19:40:09 -04:00
index.js version bump 0.12.7: chrome extension 2018-03-29 00:31:36 -04:00
main.js version bump 0.12.7: chrome extension 2018-03-29 00:31:36 -04:00
package.json updated demos [ci skip] 2017-09-12 16:02:06 -04:00

Electron

This library is compatible with Electron and should just work out of the box. The demonstration uses Electron 1.7.5. The library is added via require from the render process. It can also be required from the main process, as shown in this demo to render a version string in the About dialog on OSX.

The standard HTML5 FileReader techniques from the browser apply to Electron. This demo includes a drag-and-drop box as well as a file input box, mirroring the SheetJS Data Preview Live Demo

The core data in this demo is an editable HTML table. The readers build up the table using sheet_to_html (with editable:true option) and the writers scrape the table using table_to_book.

Reading and Writing Files

Since electron provides an fs implementation, readFile and writeFile can be used in conjunction with the standard dialog windows. For example:

/* from app code, require('electron').remote calls back to main process */
var dialog = require('electron').remote.dialog;

/* show a file-open dialog and read the first selected file */
var o = dialog.showOpenDialog({ properties: ['openFile'] });
var workbook = XLSX.readFile(o[0]);

/* show a file-save dialog and write the workbook */
var o = dialog.showSaveDialog();
XLSX.writeFile(workbook, o);

Analytics