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”。 还可以指定工作簿中显示的用户定义的自定义样式。 |
table |
应用于表的样式。 |
worksheet | 包含当前表格的工作表。 |
方法
clear |
清除当前表上应用的所有筛选器。 |
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) | 基于现有的已加载对象,同时对对象设置多个属性。 |
set |
设置应用于表的样式。 |
toJSON() | 重写 JavaScript |
事件
on |
当单元格中的数据在特定表上发生更改时发生。 |
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);
});
tableStyle
注意
此 API 以预览状态提供给开发者,可能根据我们收到的反馈更改。 请勿在生产环境中使用此 API。
应用于表的样式。
readonly tableStyle: Excel.TableStyle;
属性值
注解
worksheet
方法详细信息
clearFilters()
clearStyle()
注意
此 API 以预览状态提供给开发者,可能根据我们收到的反馈更改。 请勿在生产环境中使用此 API。
将表格更改为使用默认表格样式。
clearStyle(): void;
返回
void
注解
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)
setStyle(style)
注意
此 API 以预览状态提供给开发者,可能根据我们收到的反馈更改。 请勿在生产环境中使用此 API。
设置应用于表的样式。
setStyle(style: string | TableStyle | BuiltInTableStyle): void;
参数
- style
-
string | Excel.TableStyle | Excel.BuiltInTableStyle
要应用于表的样式。
InvalidArgumentException
如果提供的字符串与任何样式的名称都不匹配,则会引发 。
返回
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>;
事件类型
注解
示例
// 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");
});
onFiltered
注意
此 API 以预览状态提供给开发者,可能根据我们收到的反馈更改。 请勿在生产环境中使用此 API。
在对特定表应用筛选器时发生。
readonly onFiltered: OfficeExtension.EventHandlers<Excel.TableFilteredEventArgs>;
事件类型
注解
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");
});