Excel.TableColumnCollection class

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

扩展

注解

API 集:ExcelApi 1.1

使用方

示例

// 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();
});

属性

context

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

count

返回表中的列数。

items

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

方法

add(index, values, name)

向表中添加新列。

addAsJson(index, values, name)

向表中添加新列。 不同于 add(), addAsJson() 采用任何类型的单元格值,例如图像或实体数据类型。

getCount()

获取表中的列数。

getItem(key)

按名称或 ID 获取 column 对象。

getItemAt(index)

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

getItemOrNullObject(key)

按名称或 ID 获取 column 对象。 如果列不存在,则此方法将返回其 isNullObject 属性设置为 true的对象。 有关详细信息,请参阅 *OrNullObject 方法和属性。

load(options)

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

load(propertyNames)

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

load(propertyNamesAndPaths)

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

toJSON()

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

属性详细信息

context

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

context: RequestContext;

属性值

count

返回表中的列数。

readonly count: number;

属性值

number

注解

API 集:ExcelApi 1.1

items

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

readonly items: Excel.TableColumn[];

属性值

方法详细信息

add(index, values, name)

向表中添加新列。

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

参数

index

number

可选。 指定新列的相对位置。 如果为 NULL 或 -1,将在末尾进行添加。 索引更高的列将被移到一侧。 从零开始编制索引。

values

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

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

name

string

可选。 指定新列的名称。 如果 null,将使用默认名称。

返回

注解

API 集:ExcelApi 1.1 需要小于总列计数的索引;1.4 允许 index (null 或 -1) 可选,并在末尾追加一列;1.4 允许在创建时使用名称参数。

示例

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

addAsJson(index, values, name)

向表中添加新列。 不同于 add(), addAsJson() 采用任何类型的单元格值,例如图像或实体数据类型。

addAsJson(index?: number, values?: CellValue[][], name?: string): Excel.TableColumn;

参数

index

number

可选。 指定新列的相对位置。 如果为 NULL 或 -1,将在末尾进行添加。 索引更高的列将被移到一侧。 从零开始编制索引。

values

Excel.CellValue[][]

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

name

string

可选。 指定新列的名称。 如果 null,将使用默认名称。

返回

注解

API 集:ExcelApi 1.16

getCount()

获取表中的列数。

getCount(): OfficeExtension.ClientResult<number>;

返回

注解

API 集:ExcelApi 1.4

getItem(key)

按名称或 ID 获取 column 对象。

getItem(key: number | string): Excel.TableColumn;

参数

key

number | string

列名或 ID。

返回

注解

API 集:ExcelApi 1.1

示例

// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/excel/42-range/range-cell-control.yaml

// Remove all content from the Analysis column.
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();

  // Clear all the data from the second column.
  range.clearOrResetContents();
  await context.sync();
});

getItemAt(index)

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

getItemAt(index: number): Excel.TableColumn;

参数

index

number

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

返回

注解

API 集:ExcelApi 1.1

示例

await Excel.run(async (context) => { 
    const tableColumn = context.workbook.tables.getItem['Table1'].columns.getItemAt(0);
    tableColumn.load('name');
    await context.sync();
    console.log(tableColumn.name);
});

getItemOrNullObject(key)

按名称或 ID 获取 column 对象。 如果列不存在,则此方法将返回其 isNullObject 属性设置为 true的对象。 有关详细信息,请参阅 *OrNullObject 方法和属性。

getItemOrNullObject(key: number | string): Excel.TableColumn;

参数

key

number | string

列名或 ID。

返回

注解

API 集:ExcelApi 1.4

load(options)

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

load(options?: Excel.Interfaces.TableColumnCollectionLoadOptions & Excel.Interfaces.CollectionLoadOptions): Excel.TableColumnCollection;

参数

返回

load(propertyNames)

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

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

参数

propertyNames

string | string[]

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

返回

示例

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

load(propertyNamesAndPaths)

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

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

参数

propertyNamesAndPaths
OfficeExtension.LoadOption

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

返回

toJSON()

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

toJSON(): Excel.Interfaces.TableColumnCollectionData;

返回