Docs API Reference

TableBinding.addColumnsAsync method

Adds columns and values to a table.

Hosts: Excel, Word
Available in Requirement set TableBindings
Last changed in 1.0
bindingObj.addColumnsAsync(data [, options], callback);

Parameters

Name Type Description Support notes
data array or TableData An array of arrays ("matrix") or a TableData object that contains one or more rows of data to add to the table. Required.
options object Specifies any of the following optional parameters.
asyncContext 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.
callback object A function that is invoked when the callback returns, whose only parameter is of type AsyncResult.

Callback Value

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.

Remarks

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.

Example

The following example adds a single column with three rows to a bound table with the id "myTable" 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 id myTable 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);
    });
}

Support details

A capital Y in the following matrix indicates that this method is supported in the corresponding Office host application. An empty cell indicates that the Office host application doesn't support this method.

For more information about Office host application and server requirements, see Requirements for running Office Add-ins.

Supported hosts, by platform

Office for Windows desktop Office Online (in browser) Office for iPad
Excel Y Y Y
Word Y Y
Available in requirement sets TableBindings
Minimum permission level ReadWriteDocument
Add-in types Content, task pane
Library Office.js
Namespace Office

Support history

Version Changes
1.1 Added support for Excel and Word in Office for iPad.
1.0 Introduced