Excel.TableRowCollection class
表示属于表的所有行的集合。
请注意,与区域或列不同,如果新行或列被添加到它们之前,区域或列将进行调整, TableRow
对象表示表行的物理位置,而不是数据。 也就是说,如果对数据进行排序或添加新行,则表行将继续指向创建它的索引。
- 扩展
注解
属性
context | 与 对象关联的请求上下文。 这会将加载项的进程连接到 Office 主机应用程序的进程。 |
count | 返回表中的行数。 |
items | 获取此集合中已加载的子项。 |
方法
add(index, values, always |
向表中添加一行或多行。 返回对象是新添加的首行。 请注意,与区域或列不同,如果新行或列被添加到它们之前,区域或列将进行调整, |
add |
向表中添加一行或多行。 返回的对象将是新添加的行的上一行。 与 不同 请注意,与区域或列不同,如果新行或列被添加到它们之前,区域或列将进行调整, |
delete |
从表中删除多个行。 这些行不需要按顺序排列。 如果所选行已被删除或不存在,此方法将引发 |
delete |
从表中删除指定数量的行,从给定索引处开始。 如果调用方法的表应用了筛选器,则此方法将引发 |
get |
获取表格中的行数。 |
get |
根据其在集合中的位置获取行。 请注意,与区域或列不同,如果新行或列被添加到它们之前,区域或列将进行调整, |
load(options) | 将命令加入队列以加载对象的指定属性。 阅读属性前必须先调用 |
load(property |
将命令加入队列以加载对象的指定属性。 阅读属性前必须先调用 |
load(property |
将命令加入队列以加载对象的指定属性。 阅读属性前必须先调用 |
toJSON() | 重写 JavaScript |
属性详细信息
context
count
items
方法详细信息
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
。
返回
注解
deleteRows(rows)
从表中删除多个行。 这些行不需要按顺序排列。 如果所选行已被删除或不存在,此方法将引发 InvalidArgument
错误。 如果调用方法的表应用了筛选器,则此方法将引发 InsertDeleteConflict
错误。
deleteRows(rows: number[] | TableRow[]): void;
参数
- rows
-
number[] | Excel.TableRow[]
要从表中删除的行索引号或行对象的数组。
返回
void
注解
deleteRowsAt(index, count)
从表中删除指定数量的行,从给定索引处开始。 如果调用方法的表应用了筛选器,则此方法将引发 InsertDeleteConflict
错误。
deleteRowsAt(index: number, count?: number): void;
参数
- index
-
number
要删除的行的索引值。 注意:每次删除操作后,每次删除表中的上一行时,行索引都会更新。 确保要删除的行的索引在确定值的时间和运行操作的时间之间没有更改。
- count
-
number
要删除的行数。 默认情况下,将删除单个行。
返回
void
注解
getCount()
获取表格中的行数。
getCount(): OfficeExtension.ClientResult<number>;
返回
OfficeExtension.ClientResult<number>
注解
getItemAt(index)
根据其在集合中的位置获取行。
请注意,与区域或列不同,如果新行或列被添加到它们之前,区域或列将进行调整, TableRow
对象表示表行的物理位置,而不是数据。 也就是说,如果对数据进行排序或添加新行,则表行将继续指向创建它的索引。
getItemAt(index: number): Excel.TableRow;
参数
- index
-
number
要检索的对象的索引值。 从零开始编制索引。
返回
注解
示例
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;
参数
提供要加载对象的属性的选项。
返回
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;