Create TableRow

Namespace: microsoft.graph

Adds rows to the end of a table.

Note that this API can accept multiple rows of data. Adding one row at a time can affect performance. The recommended approach is to batch the rows together in a single call rather than inserting single rows. For best results, collect the rows to be inserted on the application side and perform a single row add operation. Experiment with the number of rows to determine the ideal number of rows to use in a single API call.

This request might occasionally result in a 504 HTTP error. The appropriate response to this error is to repeat the request.

Permissions

One of the following permissions is required to call this API. To learn more, including how to choose permissions, see Permissions.

Permission type Permissions (from least to most privileged)
Delegated (work or school account) Files.ReadWrite
Delegated (personal Microsoft account) Not supported.
Application Not supported.

HTTP request

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

Request headers

Name Description
Authorization Bearer {token}. Required.
Content-Type application/json. Required.
Prefer respond-async. Indicates that the request is an async request. Optional.
Workbook-Session-Id {Workbook-Session-Id}. Created from the createSession request. Optional.

Request body

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

Parameter Type Description
index Int32 Optional. Specifies the relative position of the new row. If null, the addition happens at the end. Any rows below the inserted row are shifted downwards. Zero-indexed.
values Json A two-dimensional array of unformatted values of the table rows.

Response

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

Examples

Example 1: Add two rows to a table

In this example, two rows of data are inserted at the end of the table.

Request

Here is an example of the request.

POST https://graph.microsoft.com/beta/me/drive/items/01CCETFLK7GVZTZHSQNRD2AEI5XWTCU6FJ/workbook/tables/Table1/rows
Content-type: application/json
Content-length: 90

{
  "values": "[
    [1, 2, 3],
    [4, 5, 6]
  ]"
}

Response

Here is 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
Content-length: 45

{
  "index": 99,
  "values": "[[1, 2, 3]]"
}

Example 2: Add two rows to a table asynchronously

Async requests will be useful if the request takes longer time than expected. Note that the Workbook-Session-Id header is required when issuing async requests. The user needs to Create session before using async rich API features. The header Prefer:respond-async is also required in the async requests.

For async features, the user usually needs to issue two or three requests: this request, Get workbookOperation, and optionally Get tableRowOperationResult.

Request

Here is an example of the async request. Note that 202 Accepted will only happen when the request takes a long time to respond. If the request is completed quickly, it will work like a regular sync request, falling back to Example 1.

POST https://graph.microsoft.com/beta/me/drive/items/01CCETFLK7GVZTZHSQNRD2AEI5XWTCU6FJ/workbook/tables/Table1/rows
Content-type: application/json
Prefer: respond-async
Workbook-Session-Id: {Workbook-Session-Id}
Content-length: 51

{
  "values": "[
    [1, 2, 3],
    [4, 5, 6]
  ]"
}

Response

Here is another example of the response that will lead to an async operation. For details, see Get workbookOperation and Get tableRowOperationResult.

HTTP/1.1 202 Accepted
Location: https://graph.microsoft.com/beta/me/drive/items/01CCETFLK7GVZTZHSQNRD2AEI5XWTCU6FJ/workbook/operations/0195cfac-bd22-4f91-b276-dece0aa2378b?sessionId=Y2x1c3Rlcj1QU0c0JnNlc3Npb249MTUuU0cyUEVQRjAwMDI4RjI1MS5BMTE2LjEuVTM2LmM4MGRiNjkwLTQwMTktNGNkNS1hYWJiLTJmYzczM2YxZTQ5ZjE0LjUuZW4tVVM1LmVuLVVTMjQuMTAwM2JmZmRhYzUyMzkzOS1Qcml2YXRlMS5TMjQuJTJmUEI0JTJmWjJqZmt1aXhJZHBjeE8xYmclM2QlM2QxNi4xNi4wLjE0NDEwLjM1MDUwMTQuNS5lbi1VUzUuZW4tVVMxLk0xLk4wLjEuUyZ1c2lkPWExOTMyNTU0LTlhNDAtNzYzNi1mNDU3LWEyNjExMmFkNDg2YQ==
Content-type: application/json
Content-length: 45

{
}