Excel.Table class

表示 Excel 表格。 若要了解有关表对象模型的详细信息,请阅读 使用 Excel JavaScript API 处理表。

扩展

注解

[ API 集:ExcelApi 1.1 ]

属性

autoFilter

表示 AutoFilter 表的 对象。

columns

表示表中所有列的集合。

context

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

highlightFirstColumn

指定第一列是否包含特殊格式。

highlightLastColumn

指定最后一列是否包含特殊格式。

id

返回用于唯一标识指定工作簿中表的值。 即使表被重命名,标识符的值仍保持不变。

legacyId

返回数字 ID。

name

表的名称。

表集名称必须遵循 重命名 Excel 表格一 文中指定的准则。

rows

表示表中所有行的集合。

showBandedColumns

指定列是否显示带状格式,其中奇数列的突出显示方式与偶数列不同,以便更轻松地阅读表格。

showBandedRows

指定行是否显示带状格式,其中奇数行的突出显示方式与偶数行不同,以便更轻松地阅读表格。

showFilterButton

指定筛选器按钮是否在每个列标题的顶部可见。 仅当 table 中包含标题行时,才允许设定此设置。

showHeaders

指定标题行是否可见。 该值可以设置为显示或删除标头行。

showTotals

指定总行是否可见。 该值可以设置为显示或删除总计行。

sort

表示表的排序。

style

表示表格样式的常量值。 可能的值为:“TableStyleLight1”到“TableStyleLight21”、“TableStyleMedium1”到“TableStyleMedium28”、“TableStyleDark1”到“TableStyleDark11”。 还可以指定工作簿中显示的用户定义的自定义样式。

worksheet

包含当前表格的工作表。

方法

clearFilters()

清除当前表上应用的所有筛选器。

convertToRange()

将表转换为普通单元格区域。 保留所有数据。

delete()

删除表。

getDataBodyRange()

获取与表的数据体相关的 range 对象。

getHeaderRowRange()

获取与表的标题行相关的 range 对象。

getRange()

获取与整个表相关的 range 对象。

getTotalRowRange()

获取与表的总计行相关的 range 对象。

load(options)

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

load(propertyNames)

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

load(propertyNamesAndPaths)

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

reapplyFilters()

重新应用当前表上的所有筛选器。

resize(newRange)

将表大小调整为新范围。 新区域必须与原始表区域重叠, (或表) 顶部的标题必须位于同一行中。

set(properties, options)

同时设置对象的多个属性。 可以传递具有相应属性的纯对象,也可以传递同一类型的另一个 API 对象。

set(properties)

基于现有的已加载对象,同时对对象设置多个属性。

toJSON()

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

事件

onChanged

当单元格中的数据在特定表上发生更改时发生。

onSelectionChanged

在特定表上更改所选内容时发生。

属性详细信息

autoFilter

表示 AutoFilter 表的 对象。

readonly autoFilter: Excel.AutoFilter;

属性值

注解

[ API 集:ExcelApi 1.9 ]

columns

表示表中所有列的集合。

readonly columns: Excel.TableColumnCollection;

属性值

注解

[ API 集:ExcelApi 1.1 ]

context

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

context: RequestContext;

属性值

highlightFirstColumn

指定第一列是否包含特殊格式。

highlightFirstColumn: boolean;

属性值

boolean

注解

[ API 集:ExcelApi 1.3 ]

highlightLastColumn

指定最后一列是否包含特殊格式。

highlightLastColumn: boolean;

属性值

boolean

注解

[ API 集:ExcelApi 1.3 ]

id

返回用于唯一标识指定工作簿中表的值。 即使表被重命名,标识符的值仍保持不变。

readonly id: string;

属性值

string

注解

[ API 集:ExcelApi 1.1 ]

legacyId

返回数字 ID。

readonly legacyId: string;

属性值

string

注解

[ API 集:ExcelApi 1.8 ]

name

表的名称。

表集名称必须遵循 重命名 Excel 表格一 文中指定的准则。

name: string;

属性值

string

注解

[ API 集:ExcelApi 1.1 ]

rows

表示表中所有行的集合。

readonly rows: Excel.TableRowCollection;

属性值

注解

[ API 集:ExcelApi 1.1 ]

showBandedColumns

指定列是否显示带状格式,其中奇数列的突出显示方式与偶数列不同,以便更轻松地阅读表格。

showBandedColumns: boolean;

属性值

boolean

注解

[ API 集:ExcelApi 1.3 ]

showBandedRows

指定行是否显示带状格式,其中奇数行的突出显示方式与偶数行不同,以便更轻松地阅读表格。

showBandedRows: boolean;

属性值

boolean

注解

[ API 集:ExcelApi 1.3 ]

showFilterButton

指定筛选器按钮是否在每个列标题的顶部可见。 仅当 table 中包含标题行时,才允许设定此设置。

showFilterButton: boolean;

属性值

boolean

注解

[ API 集:ExcelApi 1.3 ]

showHeaders

指定标题行是否可见。 该值可以设置为显示或删除标头行。

showHeaders: boolean;

属性值

boolean

注解

[ API 集:ExcelApi 1.1 ]

showTotals

指定总行是否可见。 该值可以设置为显示或删除总计行。

showTotals: boolean;

属性值

boolean

注解

[ API 集:ExcelApi 1.1 ]

sort

表示表的排序。

readonly sort: Excel.TableSort;

属性值

注解

[ API 集:ExcelApi 1.2 ]

style

表示表格样式的常量值。 可能的值为:“TableStyleLight1”到“TableStyleLight21”、“TableStyleMedium1”到“TableStyleMedium28”、“TableStyleDark1”到“TableStyleDark11”。 还可以指定工作簿中显示的用户定义的自定义样式。

style: string;

属性值

string

注解

[ API 集:ExcelApi 1.1 ]

示例

// Set table style.
await Excel.run(async (context) => { 
    const tableName = 'Table1';
    const table = context.workbook.tables.getItem(tableName);
    table.name = 'Table1-Renamed';
    table.showTotals = false;
    table.style = 'TableStyleMedium2';
    table.load('tableStyle');
    await context.sync();
    
    console.log(table.style);
});

worksheet

包含当前表格的工作表。

readonly worksheet: Excel.Worksheet;

属性值

注解

[ API 集:ExcelApi 1.2 ]

方法详细信息

clearFilters()

清除当前表上应用的所有筛选器。

clearFilters(): void;

返回

void

注解

[ API 集:ExcelApi 1.2 ]

convertToRange()

将表转换为普通单元格区域。 保留所有数据。

convertToRange(): Excel.Range;

返回

注解

[ API 集:ExcelApi 1.2 ]

示例

await Excel.run(async (context) => { 
    const tableName = 'Table1';
    const table = context.workbook.tables.getItem(tableName);
    table.convertToRange();
    await context.sync(); 
});

delete()

删除表。

delete(): void;

返回

void

注解

[ API 集:ExcelApi 1.1 ]

示例

await Excel.run(async (context) => { 
    const tableName = 'Table1';
    const table = context.workbook.tables.getItem(tableName);
    table.delete();
    await context.sync(); 
});

getDataBodyRange()

获取与表的数据体相关的 range 对象。

getDataBodyRange(): Excel.Range;

返回

注解

[ API 集:ExcelApi 1.1 ]

示例

await Excel.run(async (context) => { 
    const tableName = 'Table1';
    const table = context.workbook.tables.getItem(tableName);
    const tableDataRange = table.getDataBodyRange();
    tableDataRange.load('address')
    await context.sync();
    
    console.log(tableDataRange.address);
});

getHeaderRowRange()

获取与表的标题行相关的 range 对象。

getHeaderRowRange(): Excel.Range;

返回

注解

[ API 集:ExcelApi 1.1 ]

示例

await Excel.run(async (context) => { 
    const tableName = 'Table1';
    const table = context.workbook.tables.getItem(tableName);
    const tableHeaderRange = table.getHeaderRowRange();
    tableHeaderRange.load('address');
    await context.sync();

    console.log(tableHeaderRange.address);
});

getRange()

获取与整个表相关的 range 对象。

getRange(): Excel.Range;

返回

注解

[ API 集:ExcelApi 1.1 ]

示例

await Excel.run(async (context) => { 
    const tableName = 'Table1';
    const table = context.workbook.tables.getItem(tableName);
    const tableRange = table.getRange();
    tableRange.load('address');    
    await context.sync();
    
    console.log(tableRange.address);
});

getTotalRowRange()

获取与表的总计行相关的 range 对象。

getTotalRowRange(): Excel.Range;

返回

注解

[ API 集:ExcelApi 1.1 ]

示例

await Excel.run(async (context) => { 
    const tableName = 'Table1';
    const table = context.workbook.tables.getItem(tableName);
    const tableTotalsRange = table.getTotalRowRange();
    tableTotalsRange.load('address');    
    await context.sync();
    
    console.log(tableTotalsRange.address);
});

load(options)

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

load(options?: Excel.Interfaces.TableLoadOptions): Excel.Table;

参数

options
Excel.Interfaces.TableLoadOptions

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

返回

load(propertyNames)

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

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

参数

propertyNames

string | string[]

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

返回

示例

// Get a table by name.
await Excel.run(async (context) => { 
    const tableName = 'Table1';
    const table = context.workbook.tables.getItem(tableName);
    table.load('id')
    await context.sync();
    
    console.log(table.id);
});

load(propertyNamesAndPaths)

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

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

参数

propertyNamesAndPaths

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

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

返回

reapplyFilters()

重新应用当前表上的所有筛选器。

reapplyFilters(): void;

返回

void

注解

[ API 集:ExcelApi 1.2 ]

resize(newRange)

将表大小调整为新范围。 新区域必须与原始表区域重叠, (或表) 顶部的标题必须位于同一行中。

resize(newRange: Range | string): void;

参数

newRange

Excel.Range | string

将用于确定表的新大小的 range 对象或范围地址。

返回

void

注解

[ API 集:ExcelApi 1.13 ]

示例

// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/excel/46-table/resize-table.yaml

await Excel.run(async (context) => {
  // Retrieve the worksheet and a table on that worksheet.
  const sheet = context.workbook.worksheets.getItem("Sample");
  const expensesTable = sheet.tables.getItem("ExpensesTable");
  
  // Resize the table.
  expensesTable.resize("A1:D20");
  
  await context.sync();
});

set(properties, options)

同时设置对象的多个属性。 可以传递具有相应属性的纯对象,也可以传递同一类型的另一个 API 对象。

set(properties: Interfaces.TableUpdateData, options?: OfficeExtension.UpdateOptions): void;

参数

properties
Excel.Interfaces.TableUpdateData

一个 JavaScript 对象,其属性按同构方式构造为调用方法的对象的属性。

options
OfficeExtension.UpdateOptions

提供一个选项,用于在 properties 对象尝试设置任何只读属性时禁止显示错误。

返回

void

set(properties)

基于现有的已加载对象,同时对对象设置多个属性。

set(properties: Excel.Table): void;

参数

properties
Excel.Table

返回

void

toJSON()

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

toJSON(): Excel.Interfaces.TableData;

返回

事件详细信息

onChanged

当单元格中的数据在特定表上发生更改时发生。

readonly onChanged: OfficeExtension.EventHandlers<Excel.TableChangedEventArgs>;

事件类型

注解

[ API 集:ExcelApi 1.7 ]

示例

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

await Excel.run(async (context) => {
    let table = context.workbook.tables.getItemAt(0);
    table.onChanged.add(onChange);

    await context.sync();
    console.log("A handler has been registered for the onChanged event");
});

onSelectionChanged

在特定表上更改所选内容时发生。

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

事件类型

注解

[ API 集:ExcelApi 1.7 ]

示例

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

await Excel.run(async (context) => {
    let table = context.workbook.tables.getItemAt(0);
    table.onSelectionChanged.add(onSelectionChange);

    await context.sync();
    console.log("A handler has been registered for table onSelectionChanged event");
});