forked from sheetjs/sheetjs
39 lines
1.3 KiB
Markdown
39 lines
1.3 KiB
Markdown
|
# Meteor
|
||
|
|
||
|
This library is universal: outside of environment-specific features (parsing DOM
|
||
|
tables in the browser, streaming write in nodejs), the core is ES3/ES5 and can
|
||
|
be used in any reasonably compliant JS implementation. It should play nice with
|
||
|
meteor out of the box.
|
||
|
|
||
|
|
||
|
## This demonstration
|
||
|
|
||
|
You can split the work between the client and server side as you see fit. The
|
||
|
obvious extremes of pure-client code and pure-server code are straightforward.
|
||
|
This demo tries to split the work to demonstrate that the workbook object can be
|
||
|
passed on the wire.
|
||
|
|
||
|
The read demo:
|
||
|
- accepts files from the client side
|
||
|
- sends binary string to server
|
||
|
- processes data on server side
|
||
|
- sends workbook object to client
|
||
|
- renders HTML and adds to a DOM element
|
||
|
|
||
|
The write demo:
|
||
|
- generates workbook on server side
|
||
|
- sends workbook object to client
|
||
|
- generates file on client side
|
||
|
- triggers a download.
|
||
|
|
||
|
|
||
|
## Environment-specific features
|
||
|
|
||
|
File-related operations (e.g. `XLSX.readFile` and `XLSX.writeFile`) will not be
|
||
|
available in client-side code. If you need to read a local file from the client,
|
||
|
use a file input or drag-and-drop.
|
||
|
|
||
|
Browser-specific operations (e.g. `XLSX.utils.table_to_book`) are limited to
|
||
|
client side code. You should never have to read from DOM elements on the server
|
||
|
side, but you can use a third-party virtual DOM to provide the required API.
|