Export (0) Print
Expand All

TableBinding.addColumnsAsync method (JavaScript API for Office v1.1)

JavaScript API for Office v1.1

Adds columns and values to a table.

Last modified: July 21, 2014

bindingObj.addColumnsAsync(data [, options], callback);

data

Type: Array or TableData object

An array of arrays ("matrix") or a TableData object that contains one or more rows of data to add to the table. Required.

options

Type:object

Specifies the following optional parameters.

asyncContext

Type: array, Boolean, null, number, object, string, or undefined

A user-defined item of any type that is returned in the AsyncResult object without being altered. Optional.

callback

Type: object

A function that is invoked when the callback returns, whose only parameter is of type AsyncResult. Optional.

When the function you passed to the callback parameter executes, it receives an AsyncResult object that you can access from the callback function's only parameter.

In the callback function passed to the addColumnsAsync method, you can use the properties of the AsyncResult object to return the following information.

Property

Use to...

AsyncResult.value

Always returns undefined because there is no object or data to retrieve.

AsyncResult.status

Determine the success or failure of the operation.

AsyncResult.error

Access an Error object that provides error information if the operation failed.

AsyncResult.asyncContext

Access your user-defined object or value, if you passed one as the asyncContext parameter.

To add one or more columns specifying the values of the data and headers, pass a TableData object as the data parameter. To add one or more columns specifying only the data, pass an array of arrays ("matrix") as the data parameter.

The success or failure of an addColumnAsync operation is atomic. That is, the entire add columns operation must succeed, or it will be completely rolled back (and the AsyncResult.status property returned to the callback will report failure):

  • Each row in the array you pass as the data argument must have the same number of rows as the table being updated. If not, the entire operation will fail.

  • Each row and cell in the array must successfully add that row or cell to the table in the newly added column(s). If any row or cell fails to be set for any reason, the entire operation will fail.

  • If you pass a TableData object as the data argument, the number of header rows must match that of the table being updated.

Additional remarks for Excel Online

The total number of cells in the TableData object passed to the data parameter can't exceed 20,000 in a single call to this method.

The following example adds a single column with three rows to a bound table with the idmyTable by passing a TableData object as the data argument of the addColumnsAsync method. To succeed, the table being updated must have three rows.

// Add a column to a binding of type table by passing a TableData object.
function addColumns() {
    var myTable = new Office.TableData();
    myTable.headers = [["Cities"]];
    myTable.rows = [["Berlin"], ["Roma"], ["Tokyo"]];

    Office.context.document.bindings.getByIdAsync("myTable", function (result) {
        result.value.addColumnsAsync(myTable);
    });
}

The following example adds a single column with three rows to a bound table with the idmyTable by passing an array of arrays ("matrix") as the data argument of the addColumnsAsync method. To succeed, the table being updated must have three rows.

// Add a column to a binding of type table by passing an array of arrays.
function addColumns() {
    var myTable = [["Berlin"], ["Roma"], ["Tokyo"]];

    Office.context.document.bindings.getByIdAsync("myTable", function (result) {
        result.value.addColumnsAsync(myTable);
    });
}

App types

Content apps, Task pane apps

Supported clients

Access app for SharePoint, Excel 2013, Excel Online, Excel 2013 SP1, Excel 2013 RT, Word 2013, Word 2013 SP1, Word 2013 RT

Library

Office.js

Namespace

Office

Show:
© 2014 Microsoft