2022-03-03 08:35:39 +00:00
|
|
|
## Processing Data
|
2017-03-20 09:02:25 +00:00
|
|
|
|
2022-03-03 08:35:39 +00:00
|
|
|
The ["Common Spreadsheet Format"](#common-spreadsheet-format) is a simple object
|
|
|
|
representation of the core concepts of a workbook. The utility functions work
|
|
|
|
with the object representation and are intended to handle common use cases.
|
2017-03-20 09:02:25 +00:00
|
|
|
|
2022-03-03 08:35:39 +00:00
|
|
|
### Modifying Workbook Structure
|
|
|
|
|
|
|
|
**API**
|
2017-05-24 22:52:35 +00:00
|
|
|
|
2022-03-03 08:35:39 +00:00
|
|
|
_Append a Worksheet to a Workbook_
|
2017-03-20 09:02:25 +00:00
|
|
|
|
|
|
|
```js
|
2022-03-03 08:35:39 +00:00
|
|
|
XLSX.utils.book_append_sheet(workbook, worksheet, sheet_name);
|
|
|
|
```
|
2017-03-20 09:02:25 +00:00
|
|
|
|
2022-03-03 08:35:39 +00:00
|
|
|
The `book_append_sheet` utility function appends a worksheet to the workbook.
|
|
|
|
The third argument specifies the desired worksheet name. Multiple worksheets can
|
|
|
|
be added to a workbook by calling the function multiple times.
|
2017-03-20 09:02:25 +00:00
|
|
|
|
2022-03-03 08:35:39 +00:00
|
|
|
_List the Worksheet names in tab order_
|
2017-03-20 09:02:25 +00:00
|
|
|
|
2022-03-03 08:35:39 +00:00
|
|
|
```js
|
|
|
|
var wsnames = workbook.SheetNames;
|
2017-03-20 09:02:25 +00:00
|
|
|
```
|
|
|
|
|
2022-03-03 08:35:39 +00:00
|
|
|
The `SheetNames` property of the workbook object is a list of the worksheet
|
|
|
|
names in "tab order". API functions will look at this array.
|
|
|
|
|
|
|
|
_Replace a Worksheet in place_
|
|
|
|
|
|
|
|
```js
|
|
|
|
workbook.Sheets[sheet_name] = new_worksheet;
|
|
|
|
```
|
|
|
|
|
|
|
|
The `Sheets` property of the workbook object is an object whose keys are names
|
|
|
|
and whose values are worksheet objects. By reassigning to a property of the
|
|
|
|
`Sheets` object, the worksheet object can be changed without disrupting the
|
|
|
|
rest of the worksheet structure.
|
|
|
|
|
|
|
|
**Examples**
|
2017-05-24 22:52:35 +00:00
|
|
|
|
|
|
|
<details>
|
2022-03-03 08:35:39 +00:00
|
|
|
<summary><b>Add a new worksheet to a workbook</b> (click to show)</summary>
|
2017-05-24 22:52:35 +00:00
|
|
|
|
2022-03-03 08:35:39 +00:00
|
|
|
This example uses [`XLSX.utils.aoa_to_sheet`](#array-of-arrays-input).
|
2017-05-24 22:52:35 +00:00
|
|
|
|
|
|
|
```js
|
2019-07-29 10:14:10 +00:00
|
|
|
var ws_name = "SheetJS";
|
2017-05-24 22:52:35 +00:00
|
|
|
|
2022-03-03 08:35:39 +00:00
|
|
|
/* Create worksheet */
|
2017-05-24 22:52:35 +00:00
|
|
|
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);
|
|
|
|
|
2018-03-19 21:42:55 +00:00
|
|
|
/* Add the worksheet to the workbook */
|
|
|
|
XLSX.utils.book_append_sheet(wb, ws, ws_name);
|
|
|
|
```
|
|
|
|
|
|
|
|
</details>
|
2017-05-24 22:52:35 +00:00
|
|
|
|
2022-03-03 08:35:39 +00:00
|
|
|
### Modifying Cell Values
|
|
|
|
|
|
|
|
**API**
|
2017-05-24 22:52:35 +00:00
|
|
|
|
2022-03-03 08:35:39 +00:00
|
|
|
_Modify a single cell value in a worksheet_
|
2018-03-19 21:42:55 +00:00
|
|
|
|
|
|
|
```js
|
2022-03-03 08:35:39 +00:00
|
|
|
XLSX.utils.sheet_add_aoa(worksheet, [[new_value]], { origin: address });
|
2017-05-24 22:52:35 +00:00
|
|
|
```
|
|
|
|
|
2022-03-03 08:35:39 +00:00
|
|
|
_Modify multiple cell values in a worksheet_
|
2018-03-19 21:42:55 +00:00
|
|
|
|
2022-03-03 08:35:39 +00:00
|
|
|
```js
|
|
|
|
XLSX.utils.sheet_add_aoa(worksheet, aoa, opts);
|
|
|
|
```
|
2017-05-24 22:52:35 +00:00
|
|
|
|
2022-03-03 08:35:39 +00:00
|
|
|
The `sheet_add_aoa` utility function modifies cell values in a worksheet. The
|
|
|
|
first argument is the worksheet object. The second argument is an array of
|
|
|
|
arrays of values. The `origin` key of the third argument controls where cells
|
|
|
|
will be written. The following snippet sets `B3=1` and `E5="abc"`:
|
2017-05-24 22:52:35 +00:00
|
|
|
|
2022-03-03 08:35:39 +00:00
|
|
|
```js
|
|
|
|
XLSX.utils.sheet_add_aoa(worksheet, [
|
|
|
|
[1], // <-- Write 1 to cell B3
|
|
|
|
, // <-- Do nothing in row 4
|
|
|
|
[/*B5*/, /*C5*/, /*D5*/, "abc"] // <-- Write "abc" to cell E5
|
|
|
|
], { origin: "B3" });
|
|
|
|
```
|
|
|
|
|
|
|
|
["Array of Arrays Input"](#array-of-arrays-input) describes the function and the
|
|
|
|
optional `opts` argument in more detail.
|
2017-07-05 22:27:54 +00:00
|
|
|
|
2022-03-03 08:35:39 +00:00
|
|
|
**Examples**
|
2017-03-20 09:02:25 +00:00
|
|
|
|
2022-03-03 08:35:39 +00:00
|
|
|
<details>
|
|
|
|
<summary><b>Appending rows to a worksheet</b> (click to show)</summary>
|
|
|
|
|
|
|
|
The special origin value `-1` instructs `sheet_add_aoa` to start in column A of
|
|
|
|
the row after the last row in the range, appending the data:
|
|
|
|
|
|
|
|
```js
|
|
|
|
XLSX.utils.sheet_add_aoa(worksheet, [
|
|
|
|
["first row after data", 1],
|
|
|
|
["second row after data", 2]
|
|
|
|
], { origin: -1 });
|
|
|
|
```
|
|
|
|
|
|
|
|
</details>
|
2017-03-20 09:02:25 +00:00
|
|
|
|
|
|
|
|
2022-03-03 08:35:39 +00:00
|
|
|
### Modifying Other Worksheet / Workbook / Cell Properties
|
2017-03-20 09:02:25 +00:00
|
|
|
|
2022-03-03 08:35:39 +00:00
|
|
|
The ["Common Spreadsheet Format"](#common-spreadsheet-format) section describes
|
|
|
|
the object structures in greater detail.
|
2017-03-20 09:02:25 +00:00
|
|
|
|