Excel.Table class
表示 Excel 表格。 若要了解有关表对象模型的详细信息,请阅读 使用 Excel JavaScript API 处理表。
- 扩展
注解
属性
auto |
表示 |
columns | 表示表中所有列的集合。 |
context | 与 对象关联的请求上下文。 这会将加载项的进程连接到 Office 主机应用程序的进程。 |
highlight |
指定第一列是否包含特殊格式。 |
highlight |
指定最后一列是否包含特殊格式。 |
id | 返回用于唯一标识指定工作簿中表的值。 即使表被重命名,标识符的值仍保持不变。 |
legacy |
返回数字 ID。 |
name | 表的名称。 表集名称必须遵循 重命名 Excel 表格一 文中指定的准则。 |
rows | 表示表中所有行的集合。 |
show |
指定列是否显示带状格式,其中奇数列的突出显示方式与偶数列不同,以便更轻松地阅读表格。 |
show |
指定行是否显示带状格式,其中奇数行的突出显示方式与偶数行不同,以便更轻松地阅读表格。 |
show |
指定筛选器按钮是否在每个列标题的顶部可见。 仅当 table 中包含标题行时,才允许设定此设置。 |
show |
指定标题行是否可见。 该值可以设置为显示或删除标头行。 |
show |
指定总行是否可见。 该值可以设置为显示或删除总计行。 |
sort | 表示表的排序。 |
style | 表示表格样式的常量值。 可能的值为:“TableStyleLight1”到“TableStyleLight21”、“TableStyleMedium1”到“TableStyleMedium28”、“TableStyleDark1”到“TableStyleDark11”。 还可以指定工作簿中显示的用户定义的自定义样式。 |
worksheet | 包含当前表格的工作表。 |
方法
clear |
清除当前表上应用的所有筛选器。 |
convert |
将表转换为普通单元格区域。 保留所有数据。 |
delete() | 删除表。 |
get |
获取与表的数据体相关的 range 对象。 |
get |
获取与表的标题行相关的 range 对象。 |
get |
获取与整个表相关的 range 对象。 |
get |
获取与表的总计行相关的 range 对象。 |
load(options) | 将命令加入队列以加载对象的指定属性。 阅读属性前必须先调用 |
load(property |
将命令加入队列以加载对象的指定属性。 阅读属性前必须先调用 |
load(property |
将命令加入队列以加载对象的指定属性。 阅读属性前必须先调用 |
reapply |
重新应用当前表上的所有筛选器。 |
resize(new |
将表大小调整为新范围。 新区域必须与原始表区域重叠, (或表) 顶部的标题必须位于同一行中。 |
set(properties, options) | 同时设置对象的多个属性。 可以传递具有相应属性的纯对象,也可以传递同一类型的另一个 API 对象。 |
set(properties) | 基于现有的已加载对象,同时对对象设置多个属性。 |
toJSON() | 重写 JavaScript |
事件
on |
当单元格中的数据在特定表上发生更改时发生。 |
on |
在特定表上更改所选内容时发生。 |
属性详细信息
autoFilter
表示 AutoFilter
表的 对象。
readonly autoFilter: Excel.AutoFilter;
属性值
注解
columns
表示表中所有列的集合。
readonly columns: Excel.TableColumnCollection;
属性值
注解
context
highlightFirstColumn
highlightLastColumn
id
legacyId
name
rows
表示表中所有行的集合。
readonly rows: Excel.TableRowCollection;
属性值
注解
showBandedColumns
指定列是否显示带状格式,其中奇数列的突出显示方式与偶数列不同,以便更轻松地阅读表格。
showBandedColumns: boolean;
属性值
boolean
注解
showBandedRows
指定行是否显示带状格式,其中奇数行的突出显示方式与偶数行不同,以便更轻松地阅读表格。
showBandedRows: boolean;
属性值
boolean
注解
showFilterButton
指定筛选器按钮是否在每个列标题的顶部可见。 仅当 table 中包含标题行时,才允许设定此设置。
showFilterButton: boolean;
属性值
boolean
注解
showHeaders
showTotals
sort
style
表示表格样式的常量值。 可能的值为:“TableStyleLight1”到“TableStyleLight21”、“TableStyleMedium1”到“TableStyleMedium28”、“TableStyleDark1”到“TableStyleDark11”。 还可以指定工作簿中显示的用户定义的自定义样式。
style: string;
属性值
string
注解
示例
// 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
方法详细信息
clearFilters()
convertToRange()
将表转换为普通单元格区域。 保留所有数据。
convertToRange(): Excel.Range;
返回
注解
示例
await Excel.run(async (context) => {
const tableName = 'Table1';
const table = context.workbook.tables.getItem(tableName);
table.convertToRange();
await context.sync();
});
delete()
删除表。
delete(): void;
返回
void
注解
示例
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;
返回
注解
示例
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;
返回
注解
示例
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;
返回
注解
示例
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;
返回
注解
示例
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;
参数
提供要加载对象的属性的选项。
返回
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()
resize(newRange)
将表大小调整为新范围。 新区域必须与原始表区域重叠, (或表) 顶部的标题必须位于同一行中。
resize(newRange: Range | string): void;
参数
- newRange
-
Excel.Range | string
将用于确定表的新大小的 range 对象或范围地址。
返回
void
注解
示例
// 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)
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>;
事件类型
注解
示例
// 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>;
事件类型
注解
示例
// 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");
});