diff --git a/README.md b/README.md
index 1a99e7b..01af5e0 100644
--- a/README.md
+++ b/README.md
@@ -169,6 +169,7 @@ The `demos` directory includes sample projects for:
- [`angular`](demos/angular/)
- [`browserify`](demos/browserify/)
- [`Adobe ExtendScript`](demos/extendscript/)
+- [`meteor`](demos/meteor/)
- [`phantomjs`](demos/phantomjs/)
- [`requirejs`](demos/requirejs/)
- [`systemjs`](demos/systemjs/)
@@ -176,6 +177,9 @@ The `demos` directory includes sample projects for:
### Optional Modules
+
+ Optional features (click to show)
+
The node version automatically requires modules for additional features. Some
of these modules are rather large in size and are only needed in special
circumstances, so they do not ship with the core. For browser use, they must
@@ -200,6 +204,7 @@ be configured to remove support with `resolve.alias`:
}
```
+
### ECMAScript 5 Compatibility
@@ -431,6 +436,9 @@ the buffering for you.
The full object format is described later in this README.
+
+ Reading a specific cell (click to show)
+
This example extracts the value stored in cell A1 from the first worksheet:
```js
@@ -447,6 +455,35 @@ var desired_cell = worksheet[address_of_cell];
var desired_value = (desired_cell ? desired_cell.v : undefined);
```
+
+
+
+ Adding a new worksheet to a workbook (click to show)
+
+This example uses [`XLSX.utils.aoa_to_sheet`](#array-of-arrays-input) to make a
+worksheet and appends the new worksheet to the workbook:
+
+```js
+var new_ws_name = "SheetJS";
+
+/* make worksheet */
+var ws_data = [
+ [ "S", "h", "e", "e", "t", "J", "S" ],
+ [ 1 , 2 , 3 , 4 , 5 ]
+];
+var ws = XLSX.utils.aoa_to_sheet(ws_data);
+
+/* Add the sheet name to the list */
+wb.SheetNames.push(ws_name);
+
+/* Load the worksheet object */
+wb.Sheets[ws_name] = ws;
+
+```
+
+
+
+
### Complete Examples
- node
diff --git a/demos/meteor/.gitignore b/demos/meteor/.gitignore
new file mode 100644
index 0000000..a210498
--- /dev/null
+++ b/demos/meteor/.gitignore
@@ -0,0 +1 @@
+.meteor
diff --git a/demos/meteor/Makefile b/demos/meteor/Makefile
new file mode 100644
index 0000000..d337c57
--- /dev/null
+++ b/demos/meteor/Makefile
@@ -0,0 +1,9 @@
+.PHONY: start
+start:
+ @meteor
+
+.PHONY: init
+init:
+ @npm install babel-runtime meteor-node-stubs
+ @meteor add pfafman:filesaver
+ @mkdir -p node_modules; cd node_modules; ln -s ../../../ xlsx; cd -
diff --git a/demos/meteor/README.md b/demos/meteor/README.md
new file mode 100644
index 0000000..bc3b532
--- /dev/null
+++ b/demos/meteor/README.md
@@ -0,0 +1,38 @@
+# 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.
diff --git a/demos/meteor/client/main.css b/demos/meteor/client/main.css
new file mode 100644
index 0000000..d001463
--- /dev/null
+++ b/demos/meteor/client/main.css
@@ -0,0 +1,2 @@
+/* CSS declarations go here */
+a { text-decoration: none }
diff --git a/demos/meteor/client/main.html b/demos/meteor/client/main.html
new file mode 100644
index 0000000..273e0f9
--- /dev/null
+++ b/demos/meteor/client/main.html
@@ -0,0 +1,27 @@
+
+ meteor-xlsx
+
+
+
+