Excel.Binding class

表示工作簿中定义的 Office.js 绑定。

Extends

注解

[ API 集:ExcelApi 1.1 ]

属性

context

与 对象关联的请求上下文。 这会将加载项的进程连接到 Office 主机应用程序的进程。

id

表示绑定标识符。

type

返回绑定的类型。 有关详细信息,请参阅 Excel.BindingType

方法

delete()

删除 binding 对象。

getRange()

返回绑定表示的区域。 如果绑定的类型不正确,将引发错误。

getTable()

返回绑定表示的表。 如果绑定的类型不正确,将引发错误。

getText()

返回绑定表示的文本。 如果绑定的类型不正确,将引发错误。

load(options)

将命令加入队列以加载对象的指定属性。 阅读属性前必须先调用 context.sync()

load(propertyNames)

将命令加入队列以加载对象的指定属性。 阅读属性前必须先调用 context.sync()

load(propertyNamesAndPaths)

将命令加入队列以加载对象的指定属性。 阅读属性前必须先调用 context.sync()

toJSON()

重写 JavaScript toJSON() 方法,以便在将 API 对象传递给 JSON.stringify()时提供更有用的输出。 JSON.stringify (,反过来又调用toJSON传递给它的 对象的 方法。) 而原始 Excel.Binding 对象是 API 对象,toJSON该方法返回一个纯 JavaScript 对象, (类型为 Excel.Interfaces.BindingData) ,其中包含从原始对象加载的任何子属性的浅表副本。

事件

onDataChanged

当绑定内的数据或格式变化时发生。

onSelectionChanged

更改绑定中的选定内容时发生。

注意*:如果选择了多个不连续的单元格, Binding.onSelectionChanged 则仅报告一个选定内容的行和列信息。 用于 Worksheet.onSelectionChanged 多个所选区域。

属性详细信息

context

与 对象关联的请求上下文。 这会将加载项的进程连接到 Office 主机应用程序的进程。

context: RequestContext;

属性值

id

表示绑定标识符。

readonly id: string;

属性值

string

注解

[ API 集:ExcelApi 1.1 ]

type

返回绑定的类型。 有关详细信息,请参阅 Excel.BindingType

readonly type: Excel.BindingType | "Range" | "Table" | "Text";

属性值

Excel.BindingType | "Range" | "Table" | "Text"

注解

[ API 集:ExcelApi 1.1 ]

方法详细信息

delete()

删除 binding 对象。

delete(): void;

返回

void

注解

[ API 集:ExcelApi 1.3 ]

getRange()

返回绑定表示的区域。 如果绑定的类型不正确,将引发错误。

getRange(): Excel.Range;

返回

注解

[ API 集:ExcelApi 1.1 ]

示例

await Excel.run(async (context) => { 
    const binding = context.workbook.bindings.getItemAt(0);
    const range = binding.getRange();
    range.load('cellCount');
    await context.sync();

    console.log(range.cellCount);
});

getTable()

返回绑定表示的表。 如果绑定的类型不正确,将引发错误。

getTable(): Excel.Table;

返回

注解

[ API 集:ExcelApi 1.1 ]

示例

await Excel.run(async (context) => { 
    const binding = context.workbook.bindings.getItemAt(0);
    const table = binding.getTable();
    table.load('name');
    await context.sync();

    console.log(table.name);
});

getText()

返回绑定表示的文本。 如果绑定的类型不正确,将引发错误。

getText(): OfficeExtension.ClientResult<string>;

返回

注解

[ API 集:ExcelApi 1.1 ]

示例

await Excel.run(async (context) => { 
    const binding = context.workbook.bindings.getItemAt(0);
    const text = binding.getText();
    binding.load('text');
    await context.sync();

    console.log(text);
});

load(options)

将命令加入队列以加载对象的指定属性。 阅读属性前必须先调用 context.sync()

load(options?: Excel.Interfaces.BindingLoadOptions): Excel.Binding;

参数

options
Excel.Interfaces.BindingLoadOptions

提供要加载对象的属性的选项。

返回

load(propertyNames)

将命令加入队列以加载对象的指定属性。 阅读属性前必须先调用 context.sync()

load(propertyNames?: string | string[]): Excel.Binding;

参数

propertyNames

string | string[]

逗号分隔的字符串或指定要加载的属性的字符串数组。

返回

示例

await Excel.run(async (context) => { 
    const binding = context.workbook.bindings.getItemAt(0);
    binding.load('type');
    await context.sync();

    console.log(binding.type);
});

load(propertyNamesAndPaths)

将命令加入队列以加载对象的指定属性。 阅读属性前必须先调用 context.sync()

load(propertyNamesAndPaths?: {
            select?: string;
            expand?: string;
        }): Excel.Binding;

参数

propertyNamesAndPaths

{ select?: string; expand?: string; }

propertyNamesAndPaths.select 是一个逗号分隔的字符串,指定要加载的属性,是 propertyNamesAndPaths.expand 一个逗号分隔的字符串,指定要加载的导航属性。

返回

toJSON()

重写 JavaScript toJSON() 方法,以便在将 API 对象传递给 JSON.stringify()时提供更有用的输出。 JSON.stringify (,反过来又调用toJSON传递给它的 对象的 方法。) 而原始 Excel.Binding 对象是 API 对象,toJSON该方法返回一个纯 JavaScript 对象, (类型为 Excel.Interfaces.BindingData) ,其中包含从原始对象加载的任何子属性的浅表副本。

toJSON(): Excel.Interfaces.BindingData;

返回

事件详细信息

onDataChanged

当绑定内的数据或格式变化时发生。

readonly onDataChanged: OfficeExtension.EventHandlers<Excel.BindingDataChangedEventArgs>;

事件类型

注解

[ API 集:ExcelApi 1.2 ]

示例

// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/excel/30-events/data-changed.yaml

await Excel.run(async (context) => {
    const sheet = context.workbook.worksheets.getItem("Sample");    
    const salesTable = sheet.tables.getItem("SalesTable");
    const salesByQuarterBinding = context.workbook.bindings.add(salesTable.getRange(), "Table", "SalesByQuarter");
    salesByQuarterBinding.onDataChanged.add(onSalesDataChanged);

    console.log("The data changed handler is registered.");

    await context.sync();
});

onSelectionChanged

更改绑定中的选定内容时发生。

注意*:如果选择了多个不连续的单元格, Binding.onSelectionChanged 则仅报告一个选定内容的行和列信息。 用于 Worksheet.onSelectionChanged 多个所选区域。

readonly onSelectionChanged: OfficeExtension.EventHandlers<Excel.BindingSelectionChangedEventArgs>;

事件类型

注解

[ API 集:ExcelApi 1.2 ]