ExcelScript.PivotTable interface

表示 Excel 数据透视表。

注解

示例

/**
 * This script creates a PivotTable from an existing table and adds it to a new worksheet.
 * This script assumes there is a table in the current worksheet with columns named "Type" and "Sales".
 */
function main(workbook: ExcelScript.Workbook) {
  // Create a PivotTable based on a table in the current worksheet.
  let sheet = workbook.getActiveWorksheet();
  let table = sheet.getTables()[0];

  // Add the PivotTable to a new worksheet.
  let newSheet = workbook.addWorksheet("Pivot");
  let pivotTable = newSheet.addPivotTable("My Pivot", table, "A1");

  // Add fields to the PivotTable to show "Sales" per "Type".
  pivotTable.addRowHierarchy(pivotTable.getHierarchy("Type"));
  pivotTable.addDataHierarchy(pivotTable.getHierarchy("Sales"));
}

方法

addColumnHierarchy(pivotHierarchy)

将 PivotHierarchy 添加到当前轴。 如果行、列或筛选轴上的其他位置存在层次结构,则会将该层次结构从相应的位置移除。

addDataHierarchy(pivotHierarchy)

将 PivotHierarchy 添加到当前轴。

addFilterHierarchy(pivotHierarchy)

将 PivotHierarchy 添加到当前轴。 如果行、列或筛选轴上的其他位置存在层次结构,则会将该层次结构从相应的位置移除。

addRowHierarchy(pivotHierarchy)

将 PivotHierarchy 添加到当前轴。 如果行、列或筛选轴上的其他位置存在层次结构,则会将该层次结构从相应的位置移除。

delete()

删除 PivotTable 对象。

getAllowMultipleFiltersPerField()

指定数据透视表是否允许在表中的给定数据透视字段上应用多个数据透视筛选器。

getColumnHierarchies()

数据透视表的列透视层级结构。

getColumnHierarchy(name)

按名称获取 RowColumnPivotHierarchy。 如果 RowColumnPivotHierarchy 不存在,则此方法返回 undefined

getDataHierarchies()

数据透视表的数据透视层级结构。

getDataHierarchy(name)

按名称获取 DataPivotHierarchy。 如果 DataPivotHierarchy 不存在,则此方法返回 undefined

getEnableDataValueEditing()

指定数据透视表是否允许用户编辑数据正文中的值。

getFilterHierarchies()

数据透视表的筛选器透视层级结构。

getFilterHierarchy(name)

按名称获取 FilterPivotHierarchy。 如果 FilterPivotHierarchy 不存在,则此方法返回 undefined

getHierarchies()

数据透视表的透视层级结构。

getHierarchy(name)

按名称获取 PivotHierarchy。 如果 PivotHierarchy 不存在,则此方法返回 undefined

getId()

数据透视表的 ID。

getLayout()

PivotLayout,用于说明数据透视表的布局和可视化结构。

getName()

PivotTable 对象的名称。

getRowHierarchies()

数据透视表的行透视层级结构。

getRowHierarchy(name)

按名称获取 RowColumnPivotHierarchy。 如果 RowColumnPivotHierarchy 不存在,则此方法返回 undefined

getUseCustomSortLists()

指定数据透视表在排序时是否使用自定义列表。

getWorksheet()

包含当前 PivotTable 对象的工作表。

refresh()

刷新 PivotTable 对象。

removeColumnHierarchy(rowColumnPivotHierarchy)

从当前轴删除 PivotHierarchy。

removeDataHierarchy(DataPivotHierarchy)

从当前轴删除 PivotHierarchy。

removeFilterHierarchy(filterPivotHierarchy)

从当前轴删除 PivotHierarchy。

removeRowHierarchy(rowColumnPivotHierarchy)

从当前轴删除 PivotHierarchy。

setAllowMultipleFiltersPerField(allowMultipleFiltersPerField)

指定数据透视表是否允许在表中的给定数据透视字段上应用多个数据透视筛选器。

setEnableDataValueEditing(enableDataValueEditing)

指定数据透视表是否允许用户编辑数据正文中的值。

setName(name)

PivotTable 对象的名称。

setUseCustomSortLists(useCustomSortLists)

指定数据透视表在排序时是否使用自定义列表。

方法详细信息

addColumnHierarchy(pivotHierarchy)

将 PivotHierarchy 添加到当前轴。 如果行、列或筛选轴上的其他位置存在层次结构,则会将该层次结构从相应的位置移除。

addColumnHierarchy(
            pivotHierarchy: PivotHierarchy
        ): RowColumnPivotHierarchy;

参数

返回

示例

/**
 * This script adds a row hierarchy to the PivotTable on the current worksheet.
 * This assumes the source data has columns named 
 * "Type", "Classification", and "Sales".
 */
function main(workbook: ExcelScript.Workbook) {
  // Get the PivotTable on the current worksheet.
  let sheet = workbook.getActiveWorksheet();
  let pivotTable = sheet.getPivotTables()[0];

  // Add the field "Type" to the PivotTable as a row hierarchy.
  pivotTable.addRowHierarchy(pivotTable.getHierarchy("Type"));

  // Add the field "Classification" to the PivotTable as a column hierarchy.
  pivotTable.addColumnHierarchy(pivotTable.getHierarchy("Classification"));

  // Add the field "Sales" to the PivotTable as a data hierarchy.
  // By default, this displays the sums of the values in "Sales" based on the "Type".
  pivotTable.addDataHierarchy(pivotTable.getHierarchy("Sales"));
}

addDataHierarchy(pivotHierarchy)

将 PivotHierarchy 添加到当前轴。

addDataHierarchy(pivotHierarchy: PivotHierarchy): DataPivotHierarchy;

参数

返回

示例

/**
 * This script creates a PivotTable from an existing table and adds it to a new worksheet.
 * This script assumes there is a table in the current worksheet with columns named "Type" and "Sales".
 */
function main(workbook: ExcelScript.Workbook) {
  // Create a PivotTable based on a table in the current worksheet.
  let sheet = workbook.getActiveWorksheet();
  let table = sheet.getTables()[0];

  // Add the PivotTable to a new worksheet.
  let newSheet = workbook.addWorksheet("Pivot");
  let pivotTable = newSheet.addPivotTable("My Pivot", table, "A1");

  // Add fields to the PivotTable to show "Sales" per "Type".
  pivotTable.addRowHierarchy(pivotTable.getHierarchy("Type"));
  pivotTable.addDataHierarchy(pivotTable.getHierarchy("Sales"));
}

addFilterHierarchy(pivotHierarchy)

将 PivotHierarchy 添加到当前轴。 如果行、列或筛选轴上的其他位置存在层次结构,则会将该层次结构从相应的位置移除。

addFilterHierarchy(
            pivotHierarchy: PivotHierarchy
        ): FilterPivotHierarchy;

参数

返回

示例

/**
 * This script adds a manual filter to a PivotTable. 
 */
function main(workbook: ExcelScript.Workbook)
{
  // Get the first PivotTable in the workbook.
  const pivot = workbook.getPivotTables()[0];

  // Get the hierarchy to use as the filter.
  const location = pivot.getHierarchy("Location");

  // Use "Location" as the FilterHierarchy.
  pivot.addFilterHierarchy(location);

  // Select items for the filter.
  // Note that hierarchies and fields have a 1:1 relationship in Excel,
  // so `getFields()[0]` always gets the correct field.
  location.getFields()[0].applyFilter({
    manualFilter: {
      selectedItems: ["Seattle", "Chicago"]
    }
  });
}

addRowHierarchy(pivotHierarchy)

将 PivotHierarchy 添加到当前轴。 如果行、列或筛选轴上的其他位置存在层次结构,则会将该层次结构从相应的位置移除。

addRowHierarchy(
            pivotHierarchy: PivotHierarchy
        ): RowColumnPivotHierarchy;

参数

返回

示例

/**
 * This script creates a PivotTable from an existing table and adds it to a new worksheet.
 * This script assumes there is a table in the current worksheet with columns named "Type" and "Sales".
 */
function main(workbook: ExcelScript.Workbook) {
  // Create a PivotTable based on a table in the current worksheet.
  let sheet = workbook.getActiveWorksheet();
  let table = sheet.getTables()[0];

  // Add the PivotTable to a new worksheet.
  let newSheet = workbook.addWorksheet("Pivot");
  let pivotTable = newSheet.addPivotTable("My Pivot", table, "A1");

  // Add fields to the PivotTable to show "Sales" per "Type".
  pivotTable.addRowHierarchy(pivotTable.getHierarchy("Type"));
  pivotTable.addDataHierarchy(pivotTable.getHierarchy("Sales"));
}

delete()

删除 PivotTable 对象。

delete(): void;

返回

void

getAllowMultipleFiltersPerField()

指定数据透视表是否允许在表中的给定数据透视字段上应用多个数据透视筛选器。

getAllowMultipleFiltersPerField(): boolean;

返回

boolean

getColumnHierarchies()

数据透视表的列透视层级结构。

getColumnHierarchies(): RowColumnPivotHierarchy[];

返回

getColumnHierarchy(name)

按名称获取 RowColumnPivotHierarchy。 如果 RowColumnPivotHierarchy 不存在,则此方法返回 undefined

getColumnHierarchy(name: string): RowColumnPivotHierarchy | undefined;

参数

name

string

要检索的 RowColumnPivotHierarchy 的名称。

返回

getDataHierarchies()

数据透视表的数据透视层级结构。

getDataHierarchies(): DataPivotHierarchy[];

返回

getDataHierarchy(name)

按名称获取 DataPivotHierarchy。 如果 DataPivotHierarchy 不存在,则此方法返回 undefined

getDataHierarchy(name: string): DataPivotHierarchy | undefined;

参数

name

string

要检索的 DataPivotHierarchy 的名称。

返回

getEnableDataValueEditing()

指定数据透视表是否允许用户编辑数据正文中的值。

getEnableDataValueEditing(): boolean;

返回

boolean

getFilterHierarchies()

数据透视表的筛选器透视层级结构。

getFilterHierarchies(): FilterPivotHierarchy[];

返回

getFilterHierarchy(name)

按名称获取 FilterPivotHierarchy。 如果 FilterPivotHierarchy 不存在,则此方法返回 undefined

getFilterHierarchy(name: string): FilterPivotHierarchy | undefined;

参数

name

string

要检索的 FilterPivotHierarchy 的名称。

返回

getHierarchies()

数据透视表的透视层级结构。

getHierarchies(): PivotHierarchy[];

返回

getHierarchy(name)

按名称获取 PivotHierarchy。 如果 PivotHierarchy 不存在,则此方法返回 undefined

getHierarchy(name: string): PivotHierarchy | undefined;

参数

name

string

要检索的 PivotHierarchy 的名称。

返回

getId()

数据透视表的 ID。

getId(): string;

返回

string

getLayout()

PivotLayout,用于说明数据透视表的布局和可视化结构。

getLayout(): PivotLayout;

返回

示例

/**
 * This script sets the layout of the "Farms Sales" PivotTable to the "tabular"
 * setting. This places the fields from the Rows area in separate columns.
 */ 
function main(workbook: ExcelScript.Workbook) {
  // Get the PivotTable named "Farm Sales".
  const pivot = workbook.getPivotTable("Farm Sales");

  // Get the PivotLayout object.
  const layout = pivot.getLayout();

  // Set the layout type to "tabular".
  layout.setLayoutType(ExcelScript.PivotLayoutType.tabular);
}

getName()

PivotTable 对象的名称。

getName(): string;

返回

string

getRowHierarchies()

数据透视表的行透视层级结构。

getRowHierarchies(): RowColumnPivotHierarchy[];

返回

getRowHierarchy(name)

按名称获取 RowColumnPivotHierarchy。 如果 RowColumnPivotHierarchy 不存在,则此方法返回 undefined

getRowHierarchy(name: string): RowColumnPivotHierarchy | undefined;

参数

name

string

要检索的 RowColumnPivotHierarchy 的名称。

返回

示例

/**
 * This sample sorts the rows of a PivotTable.
 */
function main(workbook: ExcelScript.Workbook) {
  // Get an existing PivotTable.
  const pivotTable = workbook.getPivotTable("Farm Sales");

  // Get the data hierarchy to use as the basis of the sort.
  const valueFieldToSortOn = pivotTable.getDataHierarchy("Sum of Crates Sold Wholesale");

  // Get the row to sort.
  const rowToSort = pivotTable.getRowHierarchy("Farm");

  // Sort the "Farm" row's only field by the values in "Sum of Crates Sold Wholesale".
  rowToSort.getFields()[0].sortByValues(ExcelScript.SortBy.descending, valueFieldToSortOn);
}

getUseCustomSortLists()

指定数据透视表在排序时是否使用自定义列表。

getUseCustomSortLists(): boolean;

返回

boolean

getWorksheet()

包含当前 PivotTable 对象的工作表。

getWorksheet(): Worksheet;

返回

refresh()

刷新 PivotTable 对象。

refresh(): void;

返回

void

removeColumnHierarchy(rowColumnPivotHierarchy)

从当前轴删除 PivotHierarchy。

removeColumnHierarchy(
            rowColumnPivotHierarchy: RowColumnPivotHierarchy
        ): void;

参数

rowColumnPivotHierarchy
ExcelScript.RowColumnPivotHierarchy

返回

void

removeDataHierarchy(DataPivotHierarchy)

从当前轴删除 PivotHierarchy。

removeDataHierarchy(DataPivotHierarchy: DataPivotHierarchy): void;

参数

DataPivotHierarchy
ExcelScript.DataPivotHierarchy

返回

void

removeFilterHierarchy(filterPivotHierarchy)

从当前轴删除 PivotHierarchy。

removeFilterHierarchy(filterPivotHierarchy: FilterPivotHierarchy): void;

参数

filterPivotHierarchy
ExcelScript.FilterPivotHierarchy

返回

void

removeRowHierarchy(rowColumnPivotHierarchy)

从当前轴删除 PivotHierarchy。

removeRowHierarchy(
            rowColumnPivotHierarchy: RowColumnPivotHierarchy
        ): void;

参数

rowColumnPivotHierarchy
ExcelScript.RowColumnPivotHierarchy

返回

void

setAllowMultipleFiltersPerField(allowMultipleFiltersPerField)

指定数据透视表是否允许在表中的给定数据透视字段上应用多个数据透视筛选器。

setAllowMultipleFiltersPerField(
            allowMultipleFiltersPerField: boolean
        ): void;

参数

allowMultipleFiltersPerField

boolean

返回

void

setEnableDataValueEditing(enableDataValueEditing)

指定数据透视表是否允许用户编辑数据正文中的值。

setEnableDataValueEditing(enableDataValueEditing: boolean): void;

参数

enableDataValueEditing

boolean

返回

void

setName(name)

PivotTable 对象的名称。

setName(name: string): void;

参数

name

string

返回

void

setUseCustomSortLists(useCustomSortLists)

指定数据透视表在排序时是否使用自定义列表。

setUseCustomSortLists(useCustomSortLists: boolean): void;

参数

useCustomSortLists

boolean

返回

void