sheetjs/docbits/25_manip.md

70 lines
1.7 KiB
Markdown
Raw Normal View History

## Working with the Workbook
The full object format is described later in this README.
2017-05-24 22:52:35 +00:00
<details>
2017-09-24 23:40:09 +00:00
<summary><b>Reading a specific cell </b> (click to show)</summary>
2017-05-24 22:52:35 +00:00
This example extracts the value stored in cell A1 from the first worksheet:
```js
var first_sheet_name = workbook.SheetNames[0];
var address_of_cell = 'A1';
/* Get worksheet */
var worksheet = workbook.Sheets[first_sheet_name];
/* Find desired cell */
var desired_cell = worksheet[address_of_cell];
/* Get the value */
var desired_value = (desired_cell ? desired_cell.v : undefined);
```
2017-05-24 22:52:35 +00:00
</details>
<details>
2017-09-24 23:40:09 +00:00
<summary><b>Adding a new worksheet to a workbook</b> (click to show)</summary>
2017-05-24 22:52:35 +00:00
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 = [
2017-09-24 23:40:09 +00:00
[ "S", "h", "e", "e", "t", "J", "S" ],
[ 1 , 2 , 3 , 4 , 5 ]
2017-05-24 22:52:35 +00:00
];
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;
```
</details>
### Parsing and Writing Examples
- <http://sheetjs.com/demos/modify.html> read + modify + write files
- <https://github.com/SheetJS/js-xlsx/blob/master/bin/xlsx.njs> node
The node version installs a command line tool `xlsx` which can read spreadsheet
files and output the contents in various formats. The source is available at
`xlsx.njs` in the bin directory.
Some helper functions in `XLSX.utils` generate different views of the sheets:
- `XLSX.utils.sheet_to_csv` generates CSV
- `XLSX.utils.sheet_to_html` generates HTML
- `XLSX.utils.sheet_to_json` generates an array of objects
- `XLSX.utils.sheet_to_formulae` generates a list of formulae