Excel.TableCollection class
表示属于工作簿或工作表(具有取决于限定到的范围)的所有表的集合。
注解
使用方
示例
// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/excel/42-range/range-cell-control.yaml
// Add checkboxes to the table.
await Excel.run(async (context) => {
const sheet = context.workbook.worksheets.getActiveWorksheet();
// Get the second column in the table, without the header.
const range = sheet.tables.getItem("FruitTable").columns.getItem("Analysis").getDataBodyRange();
// Change the boolean values to checkboxes.
range.control = {
type: Excel.CellControlType.checkbox
};
await context.sync();
});
方法
| add(address, has |
创建一个新表。 范围对象或源地址决定了在哪个工作表下添加表。 如果无法添加表(例如,由于地址无效,或者表与另一个表重叠),则会引发错误。 |
| get |
获取集合中的表数量。 |
| get |
按名称或 ID 获取表。 |
| get |
根据其在集合中的位置获取表。 |
| get |
按名称或 ID 获取表。 如果该表不存在,则此方法将返回其 |
| load(options) | 将命令加入队列以加载对象的指定属性。 阅读属性前必须先调用 |
| load(property |
将命令加入队列以加载对象的指定属性。 阅读属性前必须先调用 |
| load(property |
将命令加入队列以加载对象的指定属性。 阅读属性前必须先调用 |
| toJSON() | 覆盖 JavaScript |
活动
| on |
在工作簿中添加新表时发生。 |
| on |
当工作簿或工作表中任何表的数据发生更改时发生。 |
| on |
在工作簿中删除指定的表格时发生。 |
| on |
当对工作簿或工作表中的任何表应用筛选器时发生。 |
属性详细信息
context
count
items
方法详细信息
add(address, hasHeaders)
创建一个新表。 范围对象或源地址决定了在哪个工作表下添加表。 如果无法添加表(例如,由于地址无效,或者表与另一个表重叠),则会引发错误。
add(address: Range | string, hasHeaders: boolean): Excel.Table;
参数
- address
-
Excel.Range | string
Range表示数据源的对象、字符串、地址或范围名称。 如果地址不包含工作表名称,将使用当前活动的工作表。 [API 集: ExcelApi 1.1 / 1.3. 在 ExcelApi 1.3 之前,此参数必须为字符串。 从 Excel API 1.3 开始,此参数可以是 Range 对象或字符串。
- hasHeaders
-
boolean
一个布尔值,指示要导入的数据是否具有列标签。 如果源不包含标题 (,即当此属性设置为 false) 时,Excel 将自动生成标题并将数据向下移动一行。
返回
注解
示例
await Excel.run(async (context) => {
const table = context.workbook.tables.add('Sheet1!A1:E7', true);
table.load('name');
await context.sync();
console.log(table.name);
});
getCount()
获取集合中的表数量。
getCount(): OfficeExtension.ClientResult<number>;
返回
OfficeExtension.ClientResult<number>
注解
getItem(key)
按名称或 ID 获取表。
getItem(key: string): Excel.Table;
参数
- key
-
string
要检索的表的名称或 ID。
返回
注解
示例
// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/excel/42-range/range-cell-control.yaml
// Remove checkboxes from the table.
await Excel.run(async (context) => {
const sheet = context.workbook.worksheets.getActiveWorksheet();
// Get the second column in the table, without the header.
const range = sheet.tables.getItem("FruitTable").columns.getItem("Analysis").getDataBodyRange();
// Change the checkboxes back to boolean values.
range.control = {
type: Excel.CellControlType.empty
};
await context.sync();
});
getItemAt(index)
根据其在集合中的位置获取表。
getItemAt(index: number): Excel.Table;
参数
- index
-
number
要检索的对象的索引值。 从零开始编制索引。
返回
注解
示例
await Excel.run(async (context) => {
const table = context.workbook.tables.getItemAt(0);
table.load('name');
await context.sync();
console.log(table.name);
});
getItemOrNullObject(key)
按名称或 ID 获取表。 如果该表不存在,则此方法将返回其 isNullObject 属性设置为 true的对象。 有关详细信息,请参阅 *OrNullObject 方法和属性。
getItemOrNullObject(key: string): Excel.Table;
参数
- key
-
string
要检索的表的名称或 ID。
返回
注解
load(options)
将命令加入队列以加载对象的指定属性。 阅读属性前必须先调用 context.sync()。
load(options?: Excel.Interfaces.TableCollectionLoadOptions & Excel.Interfaces.CollectionLoadOptions): Excel.TableCollection;
参数
为要加载的对象属性提供选项。
返回
load(propertyNames)
将命令加入队列以加载对象的指定属性。 阅读属性前必须先调用 context.sync()。
load(propertyNames?: string | string[]): Excel.TableCollection;
参数
- propertyNames
-
string | string[]
指定要加载的属性的逗号分隔的字符串或字符串数组。
返回
示例
// Get the number of tables.
await Excel.run(async (context) => {
const tables = context.workbook.tables;
tables.load('count');
await context.sync();
console.log(tables.count);
});
load(propertyNamesAndPaths)
将命令加入队列以加载对象的指定属性。 阅读属性前必须先调用 context.sync()。
load(propertyNamesAndPaths?: OfficeExtension.LoadOption): Excel.TableCollection;
参数
- propertyNamesAndPaths
- OfficeExtension.LoadOption
propertyNamesAndPaths.select 是指定要加载的属性的逗号分隔字符串,以及 propertyNamesAndPaths.expand 指定要加载的导航属性的逗号分隔字符串。
返回
toJSON()
覆盖 JavaScript toJSON() 方法,以便在将 API 对象传递给 JSON.stringify()时提供更有用的输出。 (JSON.stringify反过来调用 toJSON 传递给它的对象的方法。) 虽然原始 Excel.TableCollection 对象是 API 对象,但该 toJSON 方法返回一个纯 JavaScript 对象, (类型为 Excel.Interfaces.TableCollectionData) ,其中包含一个“items”数组,其中包含从集合的 items 中加载的任何属性的浅层副本。
toJSON(): Excel.Interfaces.TableCollectionData;
返回
事件详细信息
onAdded
在工作簿中添加新表时发生。
readonly onAdded: OfficeExtension.EventHandlers<Excel.TableAddedEventArgs>;
事件类型
注解
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-tablecollection-changed.yaml
await Excel.run(async (context) => {
let tables = context.workbook.tables;
tables.onChanged.add(onChange);
await context.sync();
console.log("A handler has been registered for the table collection onChanged event");
});
onDeleted
在工作簿中删除指定的表格时发生。
readonly onDeleted: OfficeExtension.EventHandlers<Excel.TableDeletedEventArgs>;
事件类型
注解
onFiltered
注意
此 API 以预览状态提供给开发者,可能根据我们收到的反馈更改。 请勿在生产环境中使用此 API。
当对工作簿或工作表中的任何表应用筛选器时发生。
readonly onFiltered: OfficeExtension.EventHandlers<Excel.TableFilteredEventArgs>;