Excel.TableRowCollection class

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

请注意,与区域或列(如果在它们前面添加新行或列时会进行调整)不同, TableRow 对象表示表行的物理位置,而不是数据。 也就是说,如果对数据进行排序或添加新行,则表行将继续指向创建它的索引。

Extends

注解

[ API 集:ExcelApi 1.1 ]

属性

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”数组,其中包含集合项中任何已加载属性的浅表副本。

属性详细信息

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”数组,其中包含集合项中任何已加载属性的浅表副本。

toJSON(): Excel.Interfaces.TableRowCollectionData;

返回