跳到主要内容

ApplyFilter

使用现有筛选条件将自动筛选重新应用于工作表。

此方法对应于 Excel AutoFilter.ApplyFilter 行为: 它不更改当前定义的筛选条件;只根据活动筛选器 重新计算哪些行应该可见。 如果工作表未定义自动筛选,该方法不执行任何操作。

语法

expression.ApplyFilter();

expression - 表示 ApiAutoFilter 类的变量。

参数

此方法没有任何参数。

返回值

void

示例

此示例在数据更改后重新应用现有的自动筛选。

// How to reuse filter criteria without redefining them.

// Reapply an AutoFilter using ApiAutoFilter.ApplyFilter().

let worksheet = Api.GetActiveSheet();

// Prepare sample data
worksheet.GetRange("A1").SetValue("Score");
worksheet.GetRange("A2").SetValue(10);
worksheet.GetRange("A3").SetValue(20);
worksheet.GetRange("A4").SetValue(30);
worksheet.GetRange("A5").SetValue(40);
worksheet.GetRange("A6").SetValue(50);

// Apply an AutoFilter that shows values greater than 25
let dataRange = worksheet.GetRange("A1:A6");
dataRange.SetAutoFilter(null);
dataRange.SetAutoFilter(1, ">25", "xlOr");

// Change one value so that the filter result would be different
worksheet.GetRange("A7").SetValue(22);

// Reapply the existing filter criteria on the worksheet
let autoFilter = worksheet.AutoFilter;
autoFilter.ApplyFilter();

// Explain in the sheet what we did
worksheet.GetRange("C1").SetValue("AutoFilter reapplied with ApplyFilter().");
worksheet.GetRange("C2").SetValue("Filter: Score > 25");
worksheet.GetRange("C7").SetValue("Updated value in A3 is now included by the filter.");