Office.Binding interface
Representa un enlace a una sección del documento.
El objeto Binding expone la funcionalidad que poseen todos los enlaces, independientemente del tipo.
Nunca se llama directamente al objeto Binding. Es la clase primaria abstracta de los objetos que representan cada tipo de enlace: Office.MatrixBinding, Office.TableBinding o Office.TextBinding. Los tres objetos heredan los métodos getDataAsync y setDataAsync del objeto Binding que permiten interactuar con los datos del enlace. También heredan las propiedades id. y type para consultar esos valores de propiedad. Asimismo, los objetos MatrixBinding y TableBinding exponen métodos adicionales para las características específicas de matrices y tablas, como contar el número de filas y columnas.
Comentarios
Aplicaciones: Word, Excel (en desuso, use Excel.Binding en su lugar)
Conjuntos de requisitos:
Propiedades
document | Obtenga el objeto Document asociado al enlace. |
id | Cadena que identifica de forma única este enlace entre los enlaces del mismo objeto Office.Document . |
type | Obtiene el tipo del enlace. |
Métodos
add |
Agrega un controlador de eventos al objeto para el objeto Office.EventType especificado. Los eventTypes admitidos son |
add |
Agrega un controlador de eventos al objeto para el objeto Office.EventType especificado. Los eventTypes admitidos son |
get |
Devuelve los datos que contiene el enlace. |
get |
Devuelve los datos que contiene el enlace. |
remove |
Quita del enlace el controlador que se especifica para el tipo de evento determinado. |
remove |
Quita del enlace el controlador que se especifica para el tipo de evento determinado. |
set |
Escribe datos en la sección enlazada del documento que representa el objeto de enlace que se ha especificado. |
set |
Escribe datos en la sección enlazada del documento que representa el objeto de enlace que se ha especificado. |
Detalles de las propiedades
document
Obtenga el objeto Document asociado al enlace.
document: Office.Document;
Valor de propiedad
Ejemplos
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
Cadena que identifica de forma única este enlace entre los enlaces del mismo objeto Office.Document .
id: string;
Valor de propiedad
string
Ejemplos
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
Obtiene el tipo del enlace.
type: Office.BindingType;
Valor de propiedad
Ejemplos
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;
}
Detalles del método
addHandlerAsync(eventType, handler, options, callback)
Agrega un controlador de eventos al objeto para el objeto Office.EventType especificado. Los eventTypes admitidos son Office.EventType.BindingDataChanged
y Office.EventType.BindingSelectionChanged
.
addHandlerAsync(eventType: Office.EventType, handler: any, options?: Office.AsyncContextOptions, callback?: (result: Office.AsyncResult<void>) => void): void;
Parámetros
- eventType
- Office.EventType
El tipo de evento. Para los enlaces, puede ser Office.EventType.BindingDataChanged
o Office.EventType.BindingSelectionChanged
.
- handler
-
any
Función de controlador de eventos que se va a agregar, cuyo único parámetro es de tipo Office.BindingDataChangedEventArgs o Office.BindingSelectionChangedEventArgs.
- options
- Office.AsyncContextOptions
Proporciona una opción para conservar los datos de contexto de cualquier tipo, sin cambios, para su uso en una devolución de llamada.
- callback
-
(result: Office.AsyncResult<void>) => void
Opcional. Función que se invoca cuando se devuelve la devolución de llamada, cuyo único parámetro es de tipo Office.AsyncResult.
Devoluciones
void
Comentarios
Conjunto de requisitos: BindingEvents
Puede agregar varios controladores de eventos para el eventType especificado siempre y cuando el nombre de cada función de controlador de eventos sea único.
addHandlerAsync(eventType, handler, callback)
Agrega un controlador de eventos al objeto para el objeto Office.EventType especificado. Los eventTypes admitidos son Office.EventType.BindingDataChanged
y Office.EventType.BindingSelectionChanged
.
addHandlerAsync(eventType: Office.EventType, handler: any, callback?: (result: Office.AsyncResult<void>) => void): void;
Parámetros
- eventType
- Office.EventType
El tipo de evento. Para los enlaces, puede ser Office.EventType.BindingDataChanged
o Office.EventType.BindingSelectionChanged
.
- handler
-
any
Función de controlador de eventos que se va a agregar, cuyo único parámetro es de tipo Office.BindingDataChangedEventArgs o Office.BindingSelectionChangedEventArgs.
- callback
-
(result: Office.AsyncResult<void>) => void
Opcional. Función que se invoca cuando se devuelve la devolución de llamada, cuyo único parámetro es de tipo Office.AsyncResult.
Devoluciones
void
Comentarios
Conjunto de requisitos: BindingEvents
Puede agregar varios controladores de eventos para el eventType especificado siempre y cuando el nombre de cada función de controlador de eventos sea único.
Ejemplos
// 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)
Devuelve los datos que contiene el enlace.
getDataAsync<T>(options?: GetBindingDataOptions, callback?: (result: AsyncResult<T>) => void): void;
Parámetros
- options
- Office.GetBindingDataOptions
Proporciona opciones para obtener los datos de un enlace.
- callback
-
(result: Office.AsyncResult<T>) => void
Opcional. Función que se invoca cuando se devuelve la devolución de llamada, cuyo único parámetro es de tipo Office.AsyncResult. La value
propiedad del resultado son los valores del enlace especificado. Si se especifica el coercionType
parámetro (y la llamada se realiza correctamente), los datos se devuelven en el formato descrito en el tema de enumeración CoercionType.
Devoluciones
void
Comentarios
Conjuntos de requisitos:
HtmlCoercion (cuando se usa
Office.CoercionType.Html
)MatrixCoercion (cuando se usa
Office.CoercionType.Matrix
)OoxmlCoercion (cuando se usa
Office.CoercionType.Ooxml
)TableCoercion (cuando se usa
Office.CoercionType.Table
)TextCoercion (cuando se usa
Office.CoercionType.Text
)
Cuando se llama desde MatrixBinding o TableBinding, el método getDataAsync devolverá un subconjunto de los valores enlazados si se especifican los parámetros opcionales startRow, startColumn, rowCount y columnCount (y especifican un intervalo contiguo y válido).
getDataAsync(callback)
Devuelve los datos que contiene el enlace.
getDataAsync<T>(callback?: (result: AsyncResult<T>) => void): void;
Parámetros
- callback
-
(result: Office.AsyncResult<T>) => void
Opcional. Función que se invoca cuando se devuelve la devolución de llamada, cuyo único parámetro es de tipo Office.AsyncResult. La value
propiedad del resultado son los valores del enlace especificado. Si se especifica el coercionType
parámetro (y la llamada se realiza correctamente), los datos se devuelven en el formato descrito en el tema de enumeración CoercionType.
Devoluciones
void
Comentarios
Conjuntos de requisitos:
HtmlCoercion (cuando se usa
Office.CoercionType.Html
)MatrixCoercion (cuando se usa
Office.CoercionType.Matrix
)OoxmlCoercion (cuando se usa
Office.CoercionType.Ooxml
)TableCoercion (cuando se usa
Office.CoercionType.Table
)TextCoercion (cuando se usa
Office.CoercionType.Text
)
Cuando se llama desde MatrixBinding o TableBinding, el método getDataAsync devolverá un subconjunto de los valores enlazados si se especifican los parámetros opcionales startRow, startColumn, rowCount y columnCount (y especifican un intervalo contiguo y válido).
Ejemplos
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)
Quita del enlace el controlador que se especifica para el tipo de evento determinado.
removeHandlerAsync(eventType: Office.EventType, options?: RemoveHandlerOptions, callback?: (result: AsyncResult<void>) => void): void;
Parámetros
- eventType
- Office.EventType
El tipo de evento. Para los enlaces, puede ser Office.EventType.BindingDataChanged
o Office.EventType.BindingSelectionChanged
.
- options
- Office.RemoveHandlerOptions
Proporciona opciones para determinar qué controladores o controladores de eventos se quitan.
- callback
-
(result: Office.AsyncResult<void>) => void
Opcional. Función que se invoca cuando se devuelve la devolución de llamada, cuyo único parámetro es de tipo Office.AsyncResult.
Devoluciones
void
Comentarios
Conjunto de requisitos: BindingEvents
removeHandlerAsync(eventType, callback)
Quita del enlace el controlador que se especifica para el tipo de evento determinado.
removeHandlerAsync(eventType: Office.EventType, callback?: (result: AsyncResult<void>) => void): void;
Parámetros
- eventType
- Office.EventType
El tipo de evento. Para los enlaces, puede ser Office.EventType.BindingDataChanged
o Office.EventType.BindingSelectionChanged
.
- callback
-
(result: Office.AsyncResult<void>) => void
Opcional. Función que se invoca cuando se devuelve la devolución de llamada, cuyo único parámetro es de tipo Office.AsyncResult.
Devoluciones
void
Comentarios
Conjunto de requisitos: BindingEvents
Ejemplos
function removeEventHandlerFromBinding() {
Office.select("bindings#MyBinding").removeHandlerAsync(
Office.EventType.BindingDataChanged, {handler:onBindingDataChanged});
}
setDataAsync(data, options, callback)
Escribe datos en la sección enlazada del documento que representa el objeto de enlace que se ha especificado.
setDataAsync(data: TableData | any, options?: SetBindingDataOptions, callback?: (result: AsyncResult<void>) => void): void;
Parámetros
- data
-
Office.TableData | any
Los datos que se definirán en la selección actual. Posibles tipos de datos por aplicación de Office:
string: Excel en la Web y en Windows, y Word en la web y solo en Windows
matriz de matrices: Solo Excel y Word
Office.TableData: solo Excel y Word
HTML: Word en la web y solo en Windows
Office Open XML: solo Word
- options
- Office.SetBindingDataOptions
Proporciona opciones para establecer los datos en un enlace.
- callback
-
(result: Office.AsyncResult<void>) => void
Opcional. Función que se invoca cuando se devuelve la devolución de llamada, cuyo único parámetro es de tipo Office.AsyncResult.
Devoluciones
void
Comentarios
Conjuntos de requisitos:
HtmlCoercion (cuando se usa
Office.CoercionType.Html
)MatrixCoercion (cuando se usa
Office.CoercionType.Matrix
)OoxmlCoercion (cuando se usa
Office.CoercionType.Ooxml
)TableCoercion (cuando se usa
Office.CoercionType.Table
)TextCoercion (cuando se usa
Office.CoercionType.Text
)
El valor pasado para los datos contiene los datos que se van a escribir en el enlace. El tipo de valor que se pasa determina qué se escribirá, tal como se describe en la tabla siguiente.
Valor data | Datos escritos |
---|---|
Una cadena | Se escribirá texto sin formato o cualquier cosa que se pueda convertir en una cadena. |
Una matriz de matrices ("matriz") | Se escribirán datos tabulares sin encabezados. Por ejemplo, para escribir datos en tres filas de dos columnas, puede pasar una matriz como esta: \[\["R1C1", "R1C2"\], \["R2C1", "R2C2"\], \["R3C1", "R3C2"\]\] . Para escribir una sola columna de tres filas, pase una matriz como esta: \[\["R1C1"\], \["R2C1"\], \["R3C1"\]\] . |
Un TableData objeto | Se escribirá una tabla con encabezados. |
Estas acciones específicas de aplicaciones también se pueden realizar al escribir datos en un enlace. Para Word, los datos especificados se escriben en el enlace como se indica a continuación.
Valor data | Datos escritos |
---|---|
Una cadena | Se escribe el texto que se ha especificado. |
Matriz de matrices ("matriz") o un TableData objeto | Se escribe una tabla de Word. |
HTML | Se escribe el contenido HTML que se ha especificado. Si alguno de los HTML que escribe no es válido, Word no generará un error. Word will write as much of the HTML as it can and will omit any invalid data. |
Office Open XML ("Open XML") | Se escribe el contenido XML que se ha especificado. |
Para Excel, los datos especificados se escriben en el enlace como se indica a continuación.
Valor data | Datos escritos |
---|---|
Una cadena | El texto que se ha especificado se inserta como el valor de la primera celda que se haya enlazado. También puede especificar una fórmula válida para agregarla a la celda enlazada. Por ejemplo, establecer data en "=SUM(A1:A5)" totalizará los valores en el rango especificado. Pero cuando se establece una fórmula en la celda dependiente, después de hacerlo, no se puede leer desde la celda dependiente la fórmula agregada (o cualquier fórmula preexistente). Si llama al Binding.getDataAsync método en la celda enlazada para leer sus datos, el método solo puede devolver los datos mostrados en la celda (resultado de la fórmula). |
Una matriz de matrices ("matrix") y la forma coincide exactamente con la forma del enlace que se ha especificado | Se escribe el conjunto de filas y columnas. También puede especificar una matriz de matrices que contenga fórmulas válidas para agregarlas a las celdas enlazadas. Por ejemplo, al establecer los datos en \[\["=SUM(A1:A5)","=AVERAGE(A1:A5)"\]\] , se agregarán esas dos fórmulas a un enlace que contiene dos celdas. Al igual que al establecer una fórmula en una sola celda enlazada, no se pueden leer las fórmulas agregadas (ni ninguna fórmula preexistente) del enlace con el Binding.getDataAsync método : solo devuelve los datos mostrados en las celdas enlazadas. |
Un TableData objeto y la forma de la tabla coincide con la tabla enlazada | Se escribe el conjunto especificado de filas o encabezados si no se van a sobrescribir otros datos de las celdas contiguas. **Nota**: Si especifica fórmulas en el TableData objeto que pasa para el parámetro *data*, es posible que no obtenga los resultados esperados debido a la característica "columnas calculadas" de Excel, que duplica automáticamente las fórmulas dentro de una columna. Para solucionar este problema cuando desee escribir *data* que contenga fórmulas en una tabla enlazada, intente especificar los datos como una matriz de matrices (en lugar de un TableData objeto) y especifique *coercionType* como Microsoft.Office.Matrix o "matrix". |
Para Excel en la Web:
El número total de celdas del valor pasado al parámetro data no puede superar las 20 000 en una sola llamada a este método.
El número de grupos de formato pasados al parámetro cellFormat no puede superar los 100. Un único grupo de formato consta de un conjunto de formato aplicado a un rango de celdas especificado.
En todos los casos restantes, se devolverá un error.
El método setDataAsync escribirá datos en un subconjunto de un enlace de tabla o matriz si se especifican los parámetros startRow e startColumn opcionales y especifican un intervalo válido.
En la función de devolución de llamada que se ha pasado al método setDataAsync, puede usar las propiedades del objeto AsyncResult para devolver la siguiente información.
Propiedad | Utilice |
---|---|
AsyncResult.value | Siempre devuelve undefined porque no hay ningún objeto o datos que recuperar. |
AsyncResult.status | Determinar si la operación se ha completado correctamente o no. |
AsyncResult.error | Tener acceso a un objeto Error que proporcione información sobre el error si la operación no se ha llevado a cabo correctamente. |
AsyncResult.asyncContext | Defina un elemento de cualquier tipo que se devuelva en el objeto AsyncResult sin modificarse. |
setDataAsync(data, callback)
Escribe datos en la sección enlazada del documento que representa el objeto de enlace que se ha especificado.
setDataAsync(data: TableData | any, callback?: (result: AsyncResult<void>) => void): void;
Parámetros
- data
-
Office.TableData | any
Los datos que se definirán en la selección actual. Posibles tipos de datos por aplicación de Office:
string: Excel en la Web y en Windows, y Word en la web y solo en Windows
matriz de matrices: Solo Excel y Word
TableData
: solo Excel y Word
HTML: Word en la web y solo en Windows
Office Open XML: solo Word
- callback
-
(result: Office.AsyncResult<void>) => void
Opcional. Función que se invoca cuando se devuelve la devolución de llamada, cuyo único parámetro es de tipo Office.AsyncResult.
Devoluciones
void
Comentarios
Conjuntos de requisitos:
HtmlCoercion (cuando se usa
Office.CoercionType.Html
)MatrixCoercion (cuando se usa
Office.CoercionType.Matrix
)OoxmlCoercion (cuando se usa
Office.CoercionType.Ooxml
)TableCoercion (cuando se usa
Office.CoercionType.Table
)TextCoercion (cuando se usa
Office.CoercionType.Text
)
El valor pasado para los datos contiene los datos que se van a escribir en el enlace. El tipo de valor que se pasa determina qué se escribirá, tal como se describe en la tabla siguiente.
Valor data | Datos escritos |
---|---|
Una cadena | Se escribirá texto sin formato o cualquier cosa que se pueda convertir en una cadena. |
Una matriz de matrices ("matriz") | Se escribirán datos tabulares sin encabezados. Por ejemplo, para escribir datos en tres filas de dos columnas, puede pasar una matriz como esta: \[\["R1C1", "R1C2"\], \["R2C1", "R2C2"\], \["R3C1", "R3C2"\]\] . Para escribir una sola columna de tres filas, pase una matriz como esta: \[\["R1C1"\], \["R2C1"\], \["R3C1"\]\] . |
Un TableData objeto | Se escribirá una tabla con encabezados. |
Estas acciones específicas de aplicaciones también se pueden realizar al escribir datos en un enlace. Para Word, los datos especificados se escriben en el enlace como se indica a continuación.
Valor data | Datos escritos |
---|---|
Una cadena | Se escribe el texto que se ha especificado. |
Matriz de matrices ("matriz") o un TableData objeto | Se escribe una tabla de Word. |
HTML | Se escribe el contenido HTML que se ha especificado. Si alguno de los HTML que escribe no es válido, Word no generará un error. Word will write as much of the HTML as it can and will omit any invalid data. |
Office Open XML ("Open XML") | Se escribe el contenido XML que se ha especificado. |
Para Excel, los datos especificados se escriben en el enlace como se indica a continuación.
Valor data | Datos escritos |
---|---|
Una cadena | El texto que se ha especificado se inserta como el valor de la primera celda que se haya enlazado. También puede especificar una fórmula válida para agregarla a la celda enlazada. Por ejemplo, establecer data en "=SUM(A1:A5)" totalizará los valores en el rango especificado. Pero cuando se establece una fórmula en la celda dependiente, después de hacerlo, no se puede leer desde la celda dependiente la fórmula agregada (o cualquier fórmula preexistente). Si llama al Binding.getDataAsync método en la celda enlazada para leer sus datos, el método solo puede devolver los datos mostrados en la celda (resultado de la fórmula). |
Una matriz de matrices ("matrix") y la forma coincide exactamente con la forma del enlace que se ha especificado | Se escribe el conjunto de filas y columnas. También puede especificar una matriz de matrices que contenga fórmulas válidas para agregarlas a las celdas enlazadas. Por ejemplo, al establecer los datos en \[\["=SUM(A1:A5)","=AVERAGE(A1:A5)"\]\] , se agregarán esas dos fórmulas a un enlace que contiene dos celdas. Al igual que al establecer una fórmula en una sola celda enlazada, no se pueden leer las fórmulas agregadas (ni ninguna fórmula preexistente) del enlace con el Binding.getDataAsync método : solo devuelve los datos mostrados en las celdas enlazadas. |
Un TableData objeto y la forma de la tabla coincide con la tabla enlazada | Se escribe el conjunto especificado de filas o encabezados si no se van a sobrescribir otros datos de las celdas contiguas. **Nota**: Si especifica fórmulas en el TableData objeto que pasa para el parámetro *data*, es posible que no obtenga los resultados esperados debido a la característica "columnas calculadas" de Excel, que duplica automáticamente las fórmulas dentro de una columna. Para solucionar este problema cuando desee escribir *data* que contenga fórmulas en una tabla enlazada, intente especificar los datos como una matriz de matrices (en lugar de un TableData objeto) y especifique *coercionType* como Microsoft.Office.Matrix o "matrix". |
Para Excel en la Web:
El número total de celdas del valor pasado al parámetro data no puede superar las 20 000 en una sola llamada a este método.
El número de grupos de formato pasados al parámetro cellFormat no puede superar los 100. Un único grupo de formato consta de un conjunto de formato aplicado a un rango de celdas especificado.
En todos los casos restantes, se devolverá un error.
El método setDataAsync escribirá datos en un subconjunto de un enlace de tabla o matriz si se especifican los parámetros startRow e startColumn opcionales y especifican un intervalo válido.
En la función de devolución de llamada que se ha pasado al método setDataAsync, puede usar las propiedades del objeto AsyncResult para devolver la siguiente información.
Propiedad | Utilice |
---|---|
AsyncResult.value | Siempre devuelve undefined porque no hay ningún objeto o datos que recuperar. |
AsyncResult.status | Determinar si la operación se ha completado correctamente o no. |
AsyncResult.error | Tener acceso a un objeto Error que proporcione información sobre el error si la operación no se ha llevado a cabo correctamente. |
AsyncResult.asyncContext | Defina un elemento de cualquier tipo que se devuelva en el objeto AsyncResult sin modificarse. |
Ejemplos
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){});