Excel.TableRowCollection class
表示属于表的所有行的集合。
请注意,与区域或列不同,如果新行或列被添加到它们之前,区域或列将进行调整, TableRow
对象表示表行的物理位置,而不是数据。 也就是说,如果对数据进行排序或添加新行,则表行将继续指向创建它的索引。
- 扩展
注解
属性
context | 与 对象关联的请求上下文。 这会将加载项的进程连接到 Office 主机应用程序的进程。 |
count | 返回表中的行数。 |
items | 获取此集合中已加载的子项。 |
方法
add(index, values, always |
向表中添加一行或多行。 返回对象是新添加的首行。 请注意,与区域或列不同,如果新行或列被添加到它们之前,区域或列将进行调整, |
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);
});
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;