Excel.TableRowCollection class

表示属于表的所有行的集合。

请注意,与区域或列不同, TableRow 对象表示表行的物理位置,而不是数据。 也就是说,如果对数据进行排序或添加了新行,表行将继续指向为其创建它的索引。

扩展

属性

context

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

count

返回表中的行数。

items

获取此集合中已加载的子项。

方法

add(index, values, alwaysInsert)

向表中添加一行或多行。 返回对象是新添加的首行。

请注意,与区域或列不同, TableRow 对象表示表行的物理位置,而不是数据。 也就是说,如果对数据进行排序或添加了新行,表行将继续指向为其创建它的索引。

addAsJson(index, values, alwaysInsert)

向表中添加一行或多行。 返回的对象将是新添加的行的首行。 不同于 add()addAsJson() 采用任何类型的单元格值,例如图像或实体数据类型。

请注意,与区域或列不同, TableRow 对象表示表行的物理位置,而不是数据。 也就是说,如果对数据进行排序或添加了新行,表行将继续指向为其创建它的索引。

deleteRows(rows)

删除表中的多行。 这些行不需要是连续的。 如果所选行已被删除或不存在,则此方法将引发错误 InvalidArgument 。 如果调用此方法的表应用了筛选器,则此方法将引发 InsertDeleteConflict 错误。

deleteRowsAt(index, count)

从表中删除指定数量的行,从给定索引开始。 如果调用此方法的表应用了筛选器,则此方法将引发 InsertDeleteConflict 错误。

getCount()

获取表格中的行数。

getItemAt(index)

根据其在集合中的位置获取行。

请注意,与区域或列不同, TableRow 对象表示表行的物理位置,而不是数据。 也就是说,如果对数据进行排序或添加了新行,表行将继续指向为其创建它的索引。

load(options)

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

load(propertyNames)

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

load(propertyNamesAndPaths)

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

toJSON()

覆盖 JavaScript toJSON() 方法,以便在将 API 对象传递给 JSON.stringify()时提供更有用的输出。 (JSON.stringify反过来调用 toJSON 传递给它的对象的方法。) 虽然原始 Excel.TableRowCollection 对象是 API 对象,但该 toJSON 方法返回一个纯 JavaScript 对象, (类型为 Excel.Interfaces.TableRowCollectionData) ,其中包含一个“items”数组,其中包含从集合的 items 中加载的任何属性的浅层副本。

属性详细信息

context

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

context: RequestContext;

属性值

count

返回表中的行数。

readonly count: number;

属性值

number

注解

API 集:ExcelApi 1.1

items

获取此集合中已加载的子项。

readonly items: Excel.TableRow[];

属性值

方法详细信息

add(index, values, alwaysInsert)

向表中添加一行或多行。 返回对象是新添加的首行。

请注意,与区域或列不同, TableRow 对象表示表行的物理位置,而不是数据。 也就是说,如果对数据进行排序或添加了新行,表行将继续指向为其创建它的索引。

add(index?: number, values?: Array<Array<boolean | string | number>> | boolean | string | number, alwaysInsert?: boolean): Excel.TableRow;

参数

index

number

可选。 指定新行的相对位置。 如果为 NULL 或 -1,将在末尾进行添加。 插入的行下方的所有行都会向下移动。 从零开始编制索引。

values

Array<Array<boolean | string | number>> | boolean | string | number

可选。 表行的未格式化值的 2D 数组。

alwaysInsert

boolean

可选。 指定添加新行时是否将新行插入到表中。 如果 true,则新行将插入到表中。 如果 false,新行将添加到表下方。 默认值为 true

返回

注解

API 集:ExcelApi 1.1 用于添加单行;1.4 允许添加多行;1.15 用于添加 alwaysInsert 参数。

示例

await Excel.run(async (context) => { 
    const tables = context.workbook.tables;
    const values = [["Sample", "Values", "For", "New", "Row"]];
    const row = tables.getItem("Table1").rows.add(null, values);
    row.load('index');
    await context.sync();
    
    console.log(row.index);
});

addAsJson(index, values, alwaysInsert)

向表中添加一行或多行。 返回的对象将是新添加的行的首行。 不同于 add()addAsJson() 采用任何类型的单元格值,例如图像或实体数据类型。

请注意,与区域或列不同, TableRow 对象表示表行的物理位置,而不是数据。 也就是说,如果对数据进行排序或添加了新行,表行将继续指向为其创建它的索引。

addAsJson(index?: number, values?: CellValue[][], alwaysInsert?: boolean): Excel.TableRow;

参数

index

number

可选。 指定新行的相对位置。 如果为 NULL 或 -1,将在末尾进行添加。 插入的行下方的所有行都会向下移动。 从零开始编制索引。

values

Excel.CellValue[][]

可选。 表行的单元格值的 2D 数组。

alwaysInsert

boolean

可选。 指定添加新行时是否将新行插入到表中。 如果 true,则新行将插入到表中。 如果 false,新行将添加到表下方。 默认值为 true

返回

注解

API 集:ExcelApi 1.16

deleteRows(rows)

删除表中的多行。 这些行不需要是连续的。 如果所选行已被删除或不存在,则此方法将引发错误 InvalidArgument 。 如果调用此方法的表应用了筛选器,则此方法将引发 InsertDeleteConflict 错误。

deleteRows(rows: number[] | TableRow[]): void;

参数

rows

number[] | Excel.TableRow[]

要从表中删除的行索引号或行对象的数组。

返回

void

注解

API 集:ExcelApiOnline 1.1

deleteRowsAt(index, count)

从表中删除指定数量的行,从给定索引开始。 如果调用此方法的表应用了筛选器,则此方法将引发 InsertDeleteConflict 错误。

deleteRowsAt(index: number, count?: number): void;

参数

index

number

要删除的行的索引值。 注: 每次删除表中的前一行时,在每次删除操作后,行索引都会更新。 确保在确定值的时间和运行操作的时间之间,要删除的行的索引没有变化。

count

number

要删除的行数。 默认情况下,将删除单行。

返回

void

注解

API 集:ExcelApiOnline 1.1

getCount()

获取表格中的行数。

getCount(): OfficeExtension.ClientResult<number>;

返回

注解

API 集:ExcelApi 1.4

getItemAt(index)

根据其在集合中的位置获取行。

请注意,与区域或列不同, TableRow 对象表示表行的物理位置,而不是数据。 也就是说,如果对数据进行排序或添加了新行,表行将继续指向为其创建它的索引。

getItemAt(index: number): Excel.TableRow;

参数

index

number

要检索的对象的索引值。 从零开始编制索引。

返回

注解

API 集:ExcelApi 1.1

示例

await Excel.run(async (context) => {
    const tablerow = context.workbook.tables.getItem('Table1').rows.getItemAt(0);
    tablerow.load('values');
    await context.sync();
    console.log(tablerow.values);
});

load(options)

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

load(options?: Excel.Interfaces.TableRowCollectionLoadOptions & Excel.Interfaces.CollectionLoadOptions): Excel.TableRowCollection;

参数

options

Excel.Interfaces.TableRowCollectionLoadOptions & Excel.Interfaces.CollectionLoadOptions

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

返回

load(propertyNames)

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

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

参数

propertyNames

string | string[]

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

返回

示例

await Excel.run(async (context) => { 
    const tablerows = context.workbook.tables.getItem('Table1').rows;
    tablerows.load('items');
    await context.sync();
    
    console.log("tablerows Count: " + tablerows.count);
    for (let i = 0; i < tablerows.items.length; i++) {
        console.log(tablerows.items[i].index);
    }
});

load(propertyNamesAndPaths)

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

load(propertyNamesAndPaths?: OfficeExtension.LoadOption): Excel.TableRowCollection;

参数

propertyNamesAndPaths
OfficeExtension.LoadOption

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

返回

toJSON()

覆盖 JavaScript toJSON() 方法,以便在将 API 对象传递给 JSON.stringify()时提供更有用的输出。 (JSON.stringify反过来调用 toJSON 传递给它的对象的方法。) 虽然原始 Excel.TableRowCollection 对象是 API 对象,但该 toJSON 方法返回一个纯 JavaScript 对象, (类型为 Excel.Interfaces.TableRowCollectionData) ,其中包含一个“items”数组,其中包含从集合的 items 中加载的任何属性的浅层副本。

toJSON(): Excel.Interfaces.TableRowCollectionData;

返回