Excel.PivotFilters interface
表示当前应用于给定 PivotField 的所有 PivotFilters 的接口。
注解
属性
date |
PivotField 当前应用的日期筛选器。 如果未应用值筛选器,则此属性 |
label |
PivotField 当前应用的标签筛选器。 如果未应用值筛选器,则此属性 |
manual |
PivotField 当前应用的手动筛选器。 如果未应用值筛选器,则此属性 |
value |
PivotField 的当前应用值筛选器。 如果未应用值筛选器,则此属性 |
属性详细信息
dateFilter
PivotField 当前应用的日期筛选器。 如果未应用值筛选器,则此属性 null
为 。
dateFilter?: Excel.PivotDateFilter;
属性值
注解
示例
// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/excel/38-pivottable/pivottable-pivotfilters.yaml
await Excel.run(async (context) => {
// Add a date-based PivotFilter.
// Get the PivotTable.
const pivotTable = context.workbook.worksheets.getActiveWorksheet().pivotTables.getItem("Farm Sales");
// PivotFilters can only be applied to PivotHierarchies that are being used for pivoting.
// If it's not already there, add "Date Updated" to the hierarchies.
let dateHierarchy = pivotTable.rowHierarchies.getItemOrNullObject("Date Updated");
await context.sync();
if (dateHierarchy.isNullObject) {
dateHierarchy = pivotTable.rowHierarchies.add(pivotTable.hierarchies.getItem("Date Updated"));
}
// Apply a date filter to filter out anything logged before August.
const filterField = dateHierarchy.fields.getItem("Date Updated");
const dateFilter = {
condition: Excel.DateFilterCondition.afterOrEqualTo,
comparator: {
date: "2020-08-01",
specificity: Excel.FilterDatetimeSpecificity.month
}
};
filterField.applyFilter({ dateFilter: dateFilter });
await context.sync();
});
labelFilter
PivotField 当前应用的标签筛选器。 如果未应用值筛选器,则此属性 null
为 。
labelFilter?: Excel.PivotLabelFilter;
属性值
注解
示例
// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/excel/38-pivottable/pivottable-pivotfilters.yaml
await Excel.run(async (context) => {
// Add a PivotFilter to filter based on the strings of item labels.
// Get the PivotTable.
const pivotTable = context.workbook.worksheets.getActiveWorksheet().pivotTables.getItem("Farm Sales");
// Get the "Type" field.
const field = pivotTable.hierarchies.getItem("Type").fields.getItem("Type");
// Filter out any types that start with "L" ("Lemons" and "Limes" in this case).
const filter: Excel.PivotLabelFilter = {
condition: Excel.LabelFilterCondition.beginsWith,
substring: "L",
exclusive: true
};
// Apply the label filter to the field.
field.applyFilter({ labelFilter: filter });
await context.sync();
});
manualFilter
PivotField 当前应用的手动筛选器。 如果未应用值筛选器,则此属性 null
为 。
manualFilter?: Excel.PivotManualFilter;
属性值
注解
示例
// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/excel/38-pivottable/pivottable-pivotfilters.yaml
await Excel.run(async (context) => {
// Add a PivotFilter to filter on manually-selected items.
// Get the PivotTable.
const pivotTable = context.workbook.worksheets.getActiveWorksheet().pivotTables.getItem("Farm Sales");
// PivotFilters can only be applied to PivotHierarchies that are being used for pivoting.
// If it's not already there, add "Classification" to the hierarchies.
let classHierarchy = pivotTable.filterHierarchies.getItemOrNullObject("Classification");
await context.sync();
if (classHierarchy.isNullObject) {
classHierarchy = pivotTable.filterHierarchies.add(pivotTable.hierarchies.getItem("Classification"));
}
// Apply a manual filter to include only a specific PivotItem (the string "Organic").
const filterField = classHierarchy.fields.getItem("Classification");
const manualFilter = { selectedItems: ["Organic"]};
filterField.applyFilter({ manualFilter: manualFilter });
await context.sync();
});
valueFilter
PivotField 的当前应用值筛选器。 如果未应用值筛选器,则此属性 null
为 。
valueFilter?: Excel.PivotValueFilter;
属性值
注解
示例
// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/excel/38-pivottable/pivottable-pivotfilters.yaml
await Excel.run(async (context) => {
// Add a PivotFilter to filter on the values correlated with a row.
// Get the PivotTable.
const pivotTable = context.workbook.worksheets.getActiveWorksheet().pivotTables.getItem("Farm Sales");
// Get the "Farm" field.
const field = pivotTable.hierarchies.getItem("Farm").fields.getItem("Farm");
// Filter to only include rows with more than 500 wholesale crates sold.
const filter: Excel.PivotValueFilter = {
condition: Excel.ValueFilterCondition.greaterThan,
comparator: 500,
value: "Sum of Crates Sold Wholesale"
};
// Apply the value filter to the field.
field.applyFilter({ valueFilter: filter });
await context.sync();
});