Office.Binding interface
Представляет привязку к разделу документа.
Объект Binding предоставляет функциональные возможности, которыми обладают все привязки независимо от типа.
Объект Binding никогда не вызывается напрямую. Это абстрактный родительский класс объектов, представляющих каждый тип привязки: Office.MatrixBinding, Office.TableBinding или Office.TextBinding. Все три этих объекта наследуют методы getDataAsync и setDataAsync от объекта Binding, которые позволяют взаимодействовать с данными в привязке. Они также наследуют свойства идентификатора и типа для запроса этих значений свойств. Кроме того, объекты MatrixBinding и TableBinding предоставляют дополнительные методы для работы с матрицами и таблицами, например, для подсчета количества строк и столбцов.
Комментарии
Приложения: Word, Excel (не рекомендуется, вместо него используйте Excel.Binding)
Наборы обязательных элементов:
Свойства
document | Получите объект Document, связанный с привязкой. |
id | Строка, однозначно идентифицирующая эту привязку среди привязок в том же объекте Office.Document . |
type | Получает тип привязки. |
Методы
add |
Добавляет обработчик событий в объект для указанного объекта Office.EventType. Поддерживаемыми типами событий являются |
add |
Добавляет обработчик событий в объект для указанного объекта Office.EventType. Поддерживаемыми типами событий являются |
get |
Возвращает данные, содержащиеся в привязке. |
get |
Возвращает данные, содержащиеся в привязке. |
remove |
Удаляет указанный обработчик из привязки для указанного типа события. |
remove |
Удаляет указанный обработчик из привязки для указанного типа события. |
set |
Записывает данные в привязанный раздел документа, представленный указанным объектом привязки. |
set |
Записывает данные в привязанный раздел документа, представленный указанным объектом привязки. |
Сведения о свойстве
document
Получите объект Document, связанный с привязкой.
document: Office.Document;
Значение свойства
Примеры
Office.context.document.bindings.getByIdAsync("myBinding", function (asyncResult) {
write(asyncResult.value.document.url);
});
// Function that writes to a div with id='message' on the page.
function write(message){
document.getElementById('message').innerText += message;
}
id
Строка, однозначно идентифицирующая эту привязку среди привязок в том же объекте Office.Document .
id: string;
Значение свойства
string
Примеры
Office.context.document.bindings.getByIdAsync("myBinding", function (asyncResult) {
write(asyncResult.value.id);
});
// Function that writes to a div with id='message' on the page.
function write(message){
document.getElementById('message').innerText += message;
}
type
Получает тип привязки.
type: Office.BindingType;
Значение свойства
Примеры
Office.context.document.bindings.getByIdAsync("MyBinding", function (asyncResult) {
write(asyncResult.value.type);
})
// Function that writes to a div with id='message' on the page.
function write(message){
document.getElementById('message').innerText += message;
}
Сведения о методе
addHandlerAsync(eventType, handler, options, callback)
Добавляет обработчик событий в объект для указанного объекта Office.EventType. Поддерживаемыми типами событий являются Office.EventType.BindingDataChanged
и Office.EventType.BindingSelectionChanged
.
addHandlerAsync(eventType: Office.EventType, handler: any, options?: Office.AsyncContextOptions, callback?: (result: Office.AsyncResult<void>) => void): void;
Параметры
- eventType
- Office.EventType
Тип события. Для привязок это может быть Office.EventType.BindingDataChanged
или Office.EventType.BindingSelectionChanged
.
- handler
-
any
Добавляемая функция обработчика событий, единственный параметр которой имеет тип Office.BindingDataChangedEventArgs или Office.BindingSelectionChangedEventArgs.
- options
- Office.AsyncContextOptions
Предоставляет возможность сохранения данных контекста любого типа без изменений для использования в обратном вызове.
- callback
-
(result: Office.AsyncResult<void>) => void
Необязательный параметр. Функция, вызываемая при возврате обратного вызова, единственный параметр которой имеет тип Office.AsyncResult.
Возвращаемое значение
void
Комментарии
Набор обязательных элементов: BindingEvents
Можно добавить несколько обработчиков событий для указанного eventType, если имя каждой функции обработчика событий является уникальным.
addHandlerAsync(eventType, handler, callback)
Добавляет обработчик событий в объект для указанного объекта Office.EventType. Поддерживаемыми типами событий являются Office.EventType.BindingDataChanged
и Office.EventType.BindingSelectionChanged
.
addHandlerAsync(eventType: Office.EventType, handler: any, callback?: (result: Office.AsyncResult<void>) => void): void;
Параметры
- eventType
- Office.EventType
Тип события. Для привязок это может быть Office.EventType.BindingDataChanged
или Office.EventType.BindingSelectionChanged
.
- handler
-
any
Добавляемая функция обработчика событий, единственный параметр которой имеет тип Office.BindingDataChangedEventArgs или Office.BindingSelectionChangedEventArgs.
- callback
-
(result: Office.AsyncResult<void>) => void
Необязательный параметр. Функция, вызываемая при возврате обратного вызова, единственный параметр которой имеет тип Office.AsyncResult.
Возвращаемое значение
void
Комментарии
Набор обязательных элементов: BindingEvents
Можно добавить несколько обработчиков событий для указанного eventType, если имя каждой функции обработчика событий является уникальным.
Примеры
// The following code sample calls the select function of the Office object to access the binding
// with ID "MyBinding", and then calls the addHandlerAsync method to add a handler function
// for the bindingDataChanged event of that binding.
function addEventHandlerToBinding() {
Office.select("bindings#MyBinding").addHandlerAsync(
Office.EventType.BindingDataChanged, onBindingDataChanged);
}
function onBindingDataChanged(eventArgs) {
write("Data has changed in binding: " + eventArgs.binding.id);
}
// Function that writes to a div with id='message' on the page.
function write(message){
document.getElementById('message').innerText += message;
}
// To add an event handler for the BindingSelectionChanged event of a binding,
// use the addHandlerAsync method of the Binding object.
// The event handler receives an argument of type BindingSelectionChangedEventArgs.
function addEventHandlerToBinding() {
Office.select("bindings#MyBinding").addHandlerAsync(
Office.EventType.BindingSelectionChanged, onBindingSelectionChanged);
}
function onBindingSelectionChanged(eventArgs) {
write(eventArgs.binding.id + " has been selected.");
}
// Function that writes to a div with id='message' on the page.
function write(message){
document.getElementById('message').innerText += message;
}
getDataAsync(options, callback)
Возвращает данные, содержащиеся в привязке.
getDataAsync<T>(options?: GetBindingDataOptions, callback?: (result: AsyncResult<T>) => void): void;
Параметры
- options
- Office.GetBindingDataOptions
Предоставляет варианты получения данных в привязке.
- callback
-
(result: Office.AsyncResult<T>) => void
Необязательный параметр. Функция, вызываемая при возврате обратного вызова, единственный параметр которой имеет тип Office.AsyncResult. Свойство value
результата — это значения в указанной привязке.
coercionType
Если параметр указан (и вызов выполнен успешно), данные возвращаются в формате, описанном в разделе Перечисление CoercionType.
Возвращаемое значение
void
Комментарии
Наборы обязательных элементов:
HtmlCoercion (при использовании
Office.CoercionType.Html
)MatrixCoercion (при использовании
Office.CoercionType.Matrix
)OoxmlCoercion (при использовании
Office.CoercionType.Ooxml
)TableCoercion (при использовании
Office.CoercionType.Table
)TextCoercion (при использовании
Office.CoercionType.Text
)
При вызове из MatrixBinding или TableBinding метод getDataAsync вернет подмножество связанных значений, если указаны необязательные параметры startRow, startColumn, rowCount и columnCount (и указывают смежный и допустимый диапазон).
getDataAsync(callback)
Возвращает данные, содержащиеся в привязке.
getDataAsync<T>(callback?: (result: AsyncResult<T>) => void): void;
Параметры
- callback
-
(result: Office.AsyncResult<T>) => void
Необязательный параметр. Функция, вызываемая при возврате обратного вызова, единственный параметр которой имеет тип Office.AsyncResult. Свойство value
результата — это значения в указанной привязке.
coercionType
Если параметр указан (и вызов выполнен успешно), данные возвращаются в формате, описанном в разделе Перечисление CoercionType.
Возвращаемое значение
void
Комментарии
Наборы обязательных элементов:
HtmlCoercion (при использовании
Office.CoercionType.Html
)MatrixCoercion (при использовании
Office.CoercionType.Matrix
)OoxmlCoercion (при использовании
Office.CoercionType.Ooxml
)TableCoercion (при использовании
Office.CoercionType.Table
)TextCoercion (при использовании
Office.CoercionType.Text
)
При вызове из MatrixBinding или TableBinding метод getDataAsync вернет подмножество связанных значений, если указаны необязательные параметры startRow, startColumn, rowCount и columnCount (и указывают смежный и допустимый диапазон).
Примеры
function showBindingData() {
Office.select("bindings#MyBinding").getDataAsync(function (asyncResult) {
write(asyncResult.value)
});
}
// Function that writes to a div with id='message' on the page.
function write(message){
document.getElementById('message').innerText += message;
}
// There is an important difference in behavior between using the "table" and "matrix" coercionType with the
// Binding.getDataAsync method, with respect to data formatted with header rows, as shown in the following
// two examples. These code examples show event handler functions for the Binding.SelectionChanged event.
// If you specify the "table" coercionType, the TableData.rows property ( result.value.rows in the following
// code example) returns an array that contains only the body rows of the table. So, its 0th row will be the
// first non-header row in the table.
function selectionChanged(evtArgs) {
Office.select("bindings#TableTranslate").getDataAsync(
{ coercionType: 'table',
startRow: evtArgs.startRow,
startCol: 0,
rowCount: 1,
columnCount: 1 },
function (result) {
if (result.status == 'succeeded') {
write("Image to find: " + result.value.rows[0][0]);
}
else
write(result.error.message);
});
}
// Function that writes to a div with id='message' on the page.
function write(message){
document.getElementById('message').innerText += message;
}
// However, if you specify the "matrix" coercionType, result.value in the following code example returns an array
// that contains the table header in the 0th row. If the table header contains multiple rows, then these are all
// included in the result.value matrix as separate rows before the table body rows are included.
function selectionChanged(evtArgs) {
Office.select("bindings#TableTranslate").getDataAsync(
{ coercionType: 'matrix',
startRow: evtArgs.startRow,
startCol: 0,
rowCount: 1,
columnCount: 1 },
function (result) {
if (result.status == 'succeeded') {
write("Image to find: " + result.value[1][0]);
}
else
write(result.error.message);
});
}
// Function that writes to a div with id='message' on the page.
function write(message){
document.getElementById('message').innerText += message;
}
removeHandlerAsync(eventType, options, callback)
Удаляет указанный обработчик из привязки для указанного типа события.
removeHandlerAsync(eventType: Office.EventType, options?: RemoveHandlerOptions, callback?: (result: AsyncResult<void>) => void): void;
Параметры
- eventType
- Office.EventType
Тип события. Для привязок это может быть Office.EventType.BindingDataChanged
или Office.EventType.BindingSelectionChanged
.
- options
- Office.RemoveHandlerOptions
Предоставляет параметры для определения того, какие обработчики событий будут удалены.
- callback
-
(result: Office.AsyncResult<void>) => void
Необязательный параметр. Функция, вызываемая при возврате обратного вызова, единственный параметр которой имеет тип Office.AsyncResult.
Возвращаемое значение
void
Комментарии
Набор обязательных элементов: BindingEvents
removeHandlerAsync(eventType, callback)
Удаляет указанный обработчик из привязки для указанного типа события.
removeHandlerAsync(eventType: Office.EventType, callback?: (result: AsyncResult<void>) => void): void;
Параметры
- eventType
- Office.EventType
Тип события. Для привязок это может быть Office.EventType.BindingDataChanged
или Office.EventType.BindingSelectionChanged
.
- callback
-
(result: Office.AsyncResult<void>) => void
Необязательный параметр. Функция, вызываемая при возврате обратного вызова, единственный параметр которой имеет тип Office.AsyncResult.
Возвращаемое значение
void
Комментарии
Набор обязательных элементов: BindingEvents
Примеры
function removeEventHandlerFromBinding() {
Office.select("bindings#MyBinding").removeHandlerAsync(
Office.EventType.BindingDataChanged, {handler:onBindingDataChanged});
}
setDataAsync(data, options, callback)
Записывает данные в привязанный раздел документа, представленный указанным объектом привязки.
setDataAsync(data: TableData | any, options?: SetBindingDataOptions, callback?: (result: AsyncResult<void>) => void): void;
Параметры
- data
-
Office.TableData | any
Данные, записываемые в текущий выделенный фрагмент. Возможные типы данных по приложению Office:
string: Excel в Интернете и в Windows, а также Word в Интернете и только в Windows
массив массивов: только Excel и Word
Office.TableData: только Excel и Word
HTML: Word только в Интернете и в Windows
Office Open XML: только Word
- options
- Office.SetBindingDataOptions
Предоставляет параметры настройки данных в привязке.
- callback
-
(result: Office.AsyncResult<void>) => void
Необязательный параметр. Функция, вызываемая при возврате обратного вызова, единственный параметр которой имеет тип Office.AsyncResult.
Возвращаемое значение
void
Комментарии
Наборы обязательных элементов:
HtmlCoercion (при использовании
Office.CoercionType.Html
)MatrixCoercion (при использовании
Office.CoercionType.Matrix
)OoxmlCoercion (при использовании
Office.CoercionType.Ooxml
)TableCoercion (при использовании
Office.CoercionType.Table
)TextCoercion (при использовании
Office.CoercionType.Text
)
Значение, передаваемое для данных, содержит данные, записываемые в привязку. Тип передаваемых значений определяет, что будет записано, как описано в следующей таблице.
значение data | Записываемые данные |
---|---|
Строка | Будет написан обычный текст или все, что может быть принучено к строке. |
Массив массивов (матрица) | Записываются табличные данные без заголовков. Например, чтобы записать данные в три строки двух столбцов, вы можете передать массив следующим образом: \[\["R1C1", "R1C2"\], \["R2C1", "R2C2"\], \["R3C1", "R3C2"\]\] . Чтобы записать один столбец из трех строк, передайте массив следующим образом: \[\["R1C1"\], \["R2C1"\], \["R3C1"\]\] . |
Объект TableData | Записываются табличные данные с заголовками. |
Кроме того, при записи данных в привязку применяются следующие действия, соответствующие конкретному приложению. Для Word указанные данные записываются в привязку следующим образом.
значение data | Записываемые данные |
---|---|
Строка | Записывается указанный текст. |
Массив массивов ("матрица TableData ") или объект | Записывается таблица Word. |
HTML | Записывается указанный HTML-код. Если указанный HTML-код содержит недопустимые фрагменты, Word не вызовет ошибку. Word запишет весь допустимый HTML-код и пропустит недопустимые данные. |
Office Open XML (Open XML) | Записывается указанный XML-код. |
Для Excel указанные данные записываются в привязку следующим образом.
значение data | Записываемые данные |
---|---|
Строка | Указанный текст добавляется в первую привязанную ячейку в качестве значения. Вы также можете указать допустимую формулу, чтобы добавить ее в привязанную ячейку. Например, если задать для параметра data значение "=SUM(A1:A5)" , значения в указанном диапазоне будут суммироваться. Если задать формулу в связанной ячейке, добавленную (или существующую) формулу в этой ячейке будет невозможно считать. При вызове Binding.getDataAsync метода в связанной ячейке для чтения ее данных метод может вернуть только данные, отображаемые в ячейке (результат формулы). |
Массив массивов (матрица) и форма точно соответствует форме указанной привязки | Записывается набор строк и столбцов. Можно также указать массив массивов, содержащих допустимые формулы, чтобы добавить их в привязанные ячейки. Например, если задать для данных значение , \[\["=SUM(A1:A5)","=AVERAGE(A1:A5)"\]\] эти две формулы будут добавлены в привязку, содержащую две ячейки. Так же, как при задании формулы в одной привязанной ячейке, вы не можете прочитать добавленные формулы (или какие-либо ранее существующие формулы) из привязки с Binding.getDataAsync помощью метода — он возвращает только данные, отображаемые в связанных ячейках. |
Объект TableData и форма таблицы соответствуют связанной таблице. | Записывается указанный набор строк или заголовков, если никакие другие данные в окружающих ячейках не перезаписываются. **Примечание*** Если указать формулы в TableData объекте, передаваемом для параметра *data*, вы можете не получить ожидаемые результаты из-за функции "вычисляемые столбцы" в Excel, которая автоматически дублирует формулы в столбце. Чтобы обойти эту проблему, если требуется записать *data*, содержащую формулы, в связанную таблицу, попробуйте указать данные в виде массива массивов (а не TableData объекта), а укажите *coercionType* как Microsoft.Office.Matrix или matrix. |
Для Excel в Интернете:
Общее количество ячеек в значении, передаваемом параметру данных, не может превышать 20 000 в одном вызове этого метода.
Число групп форматирования, переданных параметру cellFormat, не может превышать 100. Одна группа форматирования состоит из набора вариантов форматирования, применяемого к указанному диапазону ячеек.
Во всех остальных случаях возвращается ошибка.
Метод setDataAsync записывает данные в подмножество привязки таблицы или матрицы, если указаны необязательные параметры startRow и startColumn и указывают допустимый диапазон.
В функции обратного вызова, переданной в метод setDataAsync, можно использовать свойства объекта AsyncResult, чтобы возвратить такие сведения:
Property | Использовать |
---|---|
AsyncResult.value | Всегда возвращается undefined , так как нет объекта или данных для извлечения. |
AsyncResult.status | Определяет, удалось ли выполнить операцию. |
AsyncResult.error | Доступ к объекту Error, который предоставляет сведения об ошибке, если операция завершилась неудачно. |
AsyncResult.asyncContext | Определите элемент любого типа, возвращаемый в объекте AsyncResult без изменения. |
setDataAsync(data, callback)
Записывает данные в привязанный раздел документа, представленный указанным объектом привязки.
setDataAsync(data: TableData | any, callback?: (result: AsyncResult<void>) => void): void;
Параметры
- data
-
Office.TableData | any
Данные, записываемые в текущий выделенный фрагмент. Возможные типы данных по приложению Office:
string: Excel в Интернете и в Windows, а также Word в Интернете и только в Windows
массив массивов: только Excel и Word
TableData
: только Excel и Word
HTML: Word только в Интернете и в Windows
Office Open XML: только Word
- callback
-
(result: Office.AsyncResult<void>) => void
Необязательный параметр. Функция, вызываемая при возврате обратного вызова, единственный параметр которой имеет тип Office.AsyncResult.
Возвращаемое значение
void
Комментарии
Наборы обязательных элементов:
HtmlCoercion (при использовании
Office.CoercionType.Html
)MatrixCoercion (при использовании
Office.CoercionType.Matrix
)OoxmlCoercion (при использовании
Office.CoercionType.Ooxml
)TableCoercion (при использовании
Office.CoercionType.Table
)TextCoercion (при использовании
Office.CoercionType.Text
)
Значение, передаваемое для данных, содержит данные, записываемые в привязку. Тип передаваемых значений определяет, что будет записано, как описано в следующей таблице.
значение data | Записываемые данные |
---|---|
Строка | Будет написан обычный текст или все, что может быть принучено к строке. |
Массив массивов (матрица) | Записываются табличные данные без заголовков. Например, чтобы записать данные в три строки двух столбцов, вы можете передать массив следующим образом: \[\["R1C1", "R1C2"\], \["R2C1", "R2C2"\], \["R3C1", "R3C2"\]\] . Чтобы записать один столбец из трех строк, передайте массив следующим образом: \[\["R1C1"\], \["R2C1"\], \["R3C1"\]\] . |
Объект TableData | Записываются табличные данные с заголовками. |
Кроме того, при записи данных в привязку применяются следующие действия, соответствующие конкретному приложению. Для Word указанные данные записываются в привязку следующим образом.
значение data | Записываемые данные |
---|---|
Строка | Записывается указанный текст. |
Массив массивов ("матрица TableData ") или объект | Записывается таблица Word. |
HTML | Записывается указанный HTML-код. Если указанный HTML-код содержит недопустимые фрагменты, Word не вызовет ошибку. Word запишет весь допустимый HTML-код и пропустит недопустимые данные. |
Office Open XML (Open XML) | Записывается указанный XML-код. |
Для Excel указанные данные записываются в привязку следующим образом.
значение data | Записываемые данные |
---|---|
Строка | Указанный текст добавляется в первую привязанную ячейку в качестве значения. Вы также можете указать допустимую формулу, чтобы добавить ее в привязанную ячейку. Например, если задать для параметра data значение "=SUM(A1:A5)" , значения в указанном диапазоне будут суммироваться. Если задать формулу в связанной ячейке, добавленную (или существующую) формулу в этой ячейке будет невозможно считать. При вызове Binding.getDataAsync метода в связанной ячейке для чтения ее данных метод может вернуть только данные, отображаемые в ячейке (результат формулы). |
Массив массивов (матрица) и форма точно соответствует форме указанной привязки | Записывается набор строк и столбцов. Можно также указать массив массивов, содержащих допустимые формулы, чтобы добавить их в привязанные ячейки. Например, если задать для данных значение , \[\["=SUM(A1:A5)","=AVERAGE(A1:A5)"\]\] эти две формулы будут добавлены в привязку, содержащую две ячейки. Так же, как при задании формулы в одной привязанной ячейке, вы не можете прочитать добавленные формулы (или какие-либо ранее существующие формулы) из привязки с Binding.getDataAsync помощью метода — он возвращает только данные, отображаемые в связанных ячейках. |
Объект TableData и форма таблицы соответствуют связанной таблице. | Записывается указанный набор строк или заголовков, если никакие другие данные в окружающих ячейках не перезаписываются. **Примечание*** Если указать формулы в TableData объекте, передаваемом для параметра *data*, вы можете не получить ожидаемые результаты из-за функции "вычисляемые столбцы" в Excel, которая автоматически дублирует формулы в столбце. Чтобы обойти эту проблему, если требуется записать *data*, содержащую формулы, в связанную таблицу, попробуйте указать данные в виде массива массивов (а не TableData объекта), а укажите *coercionType* как Microsoft.Office.Matrix или matrix. |
Для Excel в Интернете:
Общее количество ячеек в значении, передаваемом параметру данных, не может превышать 20 000 в одном вызове этого метода.
Число групп форматирования, переданных параметру cellFormat, не может превышать 100. Одна группа форматирования состоит из набора вариантов форматирования, применяемого к указанному диапазону ячеек.
Во всех остальных случаях возвращается ошибка.
Метод setDataAsync записывает данные в подмножество привязки таблицы или матрицы, если указаны необязательные параметры startRow и startColumn и указывают допустимый диапазон.
В функции обратного вызова, переданной в метод setDataAsync, можно использовать свойства объекта AsyncResult, чтобы возвратить такие сведения:
Property | Использовать |
---|---|
AsyncResult.value | Всегда возвращается undefined , так как нет объекта или данных для извлечения. |
AsyncResult.status | Определяет, удалось ли выполнить операцию. |
AsyncResult.error | Доступ к объекту Error, который предоставляет сведения об ошибке, если операция завершилась неудачно. |
AsyncResult.asyncContext | Определите элемент любого типа, возвращаемый в объекте AsyncResult без изменения. |
Примеры
function setBindingData() {
Office.select("bindings#MyBinding").setDataAsync('Hello World!', function (asyncResult) { });
}
// Specifying the optional coercionType parameter lets you specify the kind of data you want to write to a binding.
// For example, in Word if you want to write HTML to a text binding, you can specify the coercionType parameter
// as "html" as shown in the following example, which uses HTML <b> tags to make "Hello" bold.
function writeHtmlData() {
Office.select("bindings#myBinding").setDataAsync(
"<b>Hello</b> World!", {coercionType: "html"}, function (asyncResult) {
if (asyncResult.status == "failed") {
write('Error: ' + asyncResult.error.message);
}
});
}
// Function that writes to a div with id='message' on the page.
function write(message){
document.getElementById('message').innerText += message;
}
// In this example, the call to setDataAsync passes the data parameter as an array of arrays
// (to create a single column of three rows), and specifies the data structure with the
// coercionType parameter as a "matrix".
function writeBoundDataMatrix() {
Office.select("bindings#myBinding").setDataAsync(
[['Berlin'],['Munich'],['Duisburg']],{ coercionType: "matrix" }, function (asyncResult) {
if (asyncResult.status == "failed") {
write('Error: ' + asyncResult.error.message);
} else {
write('Bound data: ' + asyncResult.value);
}
});
}
// Function that writes to a div with id='message' on the page.
function write(message){
document.getElementById('message').innerText += message;
}
// In the writeBoundDataTable function in this example, the call to setDataAsync passes the data parameter
// as a TableData object (to write three columns and three rows), and specifies the data structure
// with the coercionType parameter as a "table".
// In the updateTableData function, the call to setDataAsync again passes the data parameter as a TableData object,
// but as a single column with a new header and three rows, to update the values in the last column
// of the table created with the writeBoundDataTable function. The optional zero-based startColumn parameter
// is specified as 2 to replace the values in the third column of the table.
function writeBoundDataTable() {
// Create a TableData object.
const myTable = new Office.TableData();
myTable.headers = ['First Name', 'Last Name', 'Grade'];
myTable.rows = [['Kim', 'Abercrombie', 'A'], ['Junmin','Hao', 'C'],['Toni','Poe','B']];
// Set myTable in the binding.
Office.select("bindings#myBinding").setDataAsync(myTable, { coercionType: "table" },
function (asyncResult) {
if (asyncResult.status == Office.AsyncResultStatus.Failed) {
write('Error: '+ asyncResult.error.message);
} else {
write('Bound data: ' + asyncResult.value);
}
});
}
// Replace last column with different data.
function updateTableData() {
const newTable = new Office.TableData();
newTable.headers = ["Gender"];
newTable.rows = [["M"],["M"],["F"]];
Office.select("bindings#myBinding").setDataAsync(newTable, { coercionType: "table", startColumn:2 },
function (asyncResult) {
if (asyncResult.status == Office.AsyncResultStatus.Failed) {
write('Error: '+ asyncResult.error.message);
} else {
write('Bound data: ' + asyncResult.value);
}
});
}
// In this example, the following call passes two formatting groups to cellFormat.
Office.select("bindings#myBinding").setDataAsync([['Berlin'],['Munich'],['Duisburg']],
{cellFormat:[{cells: {row: 1}, format: {fontColor: "yellow"}},
{cells: {row: 3, column: 4}, format: {borderColor: "white", fontStyle: "bold"}}]},
function (asyncResult){});
Office Add-ins