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.

This API is available in the following national cloud deployments.

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

Permissions

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) Not supported. Not supported.
Application Not supported. 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}:/workbook/worksheets/{id|name}/tables/{id|name}/rows

Request headers

Name Description
Authorization Bearer {token}. Required. Learn more about authentication and authorization.
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

The following example shows a request.

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

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

Response

The following example shows the response.

Note: The response object shown here might be shortened for readability.

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

{
  "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/v1.0/me/drive/items/01CCETFLK7GVZTZHSQNRD2AEI5XWTCU6FJ/workbook/tables/Table1/rows
Content-type: application/json
Prefer: respond-async
Workbook-Session-Id: {Workbook-Session-Id}

{
  "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

{
}