Tables
Tables require Jspreadsheet version 13.
Documentation
getTable
Get all tables of the worksheet, or one table by its name.
| Parameter | Description |
|---|---|
name |
Table name. Without it, every table of the worksheet is returned. |
GET /api/:guid/:worksheetIndex/table
GET /api/:guid/:worksheetIndex/table/:name
setTable
Create a table over a range, or replace the table with the same name. Table names are unique across the workbook, and tables follow inserts, deletes and moves of rows and columns.
| Parameter | Description |
|---|---|
data.name |
Table name, unique across the workbook. |
data.range |
Cell range of the table, such as A1:D10. |
data.headerRow |
The first row of the range holds the column names. Default false: the first row is data and the names come from headers. |
data.headers |
Column names. Missing names default to Column1, Column2, ... |
data.filters |
Show the column filters. |
data.totalRow |
Show the total row. |
data.bandedRows |
Alternate the row colours. |
data.bandedColumns |
Alternate the column colours. |
data.theme |
Table style. |
data can also be an array of table configurations.
POST /api/:guid/:worksheetIndex/table
resetTable
Remove the formatting and the filters of a table. The cell values stay.
| Parameter | Description |
|---|---|
name |
Table name. |
DELETE /api/:guid/:worksheetIndex/table/:name
Examples
Create a table
const baseUrl = 'http://localhost:8009/api';
const guid = '15eb1171-5a64-45bf-be96-f52b6125a045';
const token = 'eyJhbGciOiJIUzUxMiIsInR5cCJ9.eyJkb21haW4iOiJsb2NhbGhvc3Q6ODAPQSJ9.Xr2Ir2-zEc_tqV5y6i';
const headers = { 'Authorization': `Bearer ${token}` };
// A table with a header row, filters and banded rows
await fetch(`${baseUrl}/${guid}/0/table`, {
method: 'POST',
headers,
body: new URLSearchParams({
'data': JSON.stringify({
name: 'Sales',
range: 'A1:D10',
headerRow: true,
filters: true,
bandedRows: true,
}),
}),
});
Read the tables
// Every table of the first worksheet
const tables = await (await fetch(`${baseUrl}/${guid}/0/table`, { headers })).json();
// One table by name
const sales = await (await fetch(`${baseUrl}/${guid}/0/table/Sales`, { headers })).json();
Remove a table
await fetch(`${baseUrl}/${guid}/0/table/Sales`, {
method: 'DELETE',
headers,
});