Create table

Namespace: microsoft.graph

Use this API to create a new Table.

This API is available in the following national cloud deployments.

Global service US Government L4 US Government L5 (DOD) China operated by 21Vianet


Choose the permission or permissions marked as least privileged for this API. Use a higher privileged permission or permissions only if your app requires it. For details about delegated and application permissions, see Permission types. To learn more about these permissions, see the permissions reference.

Permission type Least privileged permissions Higher privileged permissions
Delegated (work or school account) Files.ReadWrite Not available.
Delegated (personal Microsoft account) Files.ReadWrite Not available.
Application Not supported. Not supported.

HTTP request

POST /me/drive/items/{id}/workbook/worksheets/{id|name}/tables/add
POST /me/drive/root:/{item-path}:/workbook/worksheets/{id|name}/tables/add

Request headers

Name Description
Authorization Bearer {token}. Required.
Workbook-Session-Id Workbook session ID that determines if changes are persisted or not. Optional.

Request body

In the request body, provide a JSON object with the following parameters.

Parameter Type Description
Address string Range address. If you're calling this API off of worksheets/{id or name}/tables/add path, there's no need to for sheet name prefix in the address. However, if you're calling this off of workbook/tables/add path, then supply the sheet name on which the table needs to be created (example: sheet1!A1:D4)
hasHeaders boolean Boolean value that indicates whether the range has column labels. If the source doesn't contain headers (when this property set to false), Excel will automatically generate header shifting the data down by one row.


If successful, this method returns 201 Created response code and WorkbookTable object in the response body.



Here's an example of the request.

Content-type: application/json

  "address": "A1:D8",
  "hasHeaders": false

Here's an example of the response. Note: The response object shown here might be shortened for readability.

HTTP/1.1 201 Created
Content-type: application/json

  "id": "99",
  "name": "name-value",
  "showHeaders": true,
  "showTotals": true,
  "style": "style-value"