C#Excel高级自动筛选排除值列表

我想申请自动筛选器使用C#在Excel中的列,但只想显示等于指定列表的值。

原始列表如下所示:

未经过滤的列表

我想过滤符合以下标准"<>apple""<>orange"应该导致一个列表,看起来像这样:

在这里输入图像说明

但是,使用下面的代码只显示了我之后的反向:

 private void ActivateAutoFilter() { this.Range["A1", "C1"].Value2 = GetArrayFromList(new List<string>() { "H1", "H2", "H3" }); this.Range["A2", "C2"].Value2 = GetArrayFromList(new List<string>() { "apple", "apple", "apple" }); this.Range["A3", "C3"].Value2 = GetArrayFromList(new List<string>() { "orange", "orange", "orange" }); this.Range["A4", "C4"].Value2 = GetArrayFromList(new List<string>() { "pear", "pear", "pear" }); Microsoft.Office.Tools.Excel.NamedRange my_named_range = this.Controls.AddNamedRange(this.Range["A1", "C1"], "MY_NAMED_RANGE"); string[] listFilter = new string[] { "apple", "orange" }; my_named_range.AutoFilter(1, listFilter, Excel.XlAutoFilterOperator.xlFilterValues, System.Type.Missing, true); } 

逆:

反向结果

而如果我将标准从{ "apple", "orange" }更改为: { "<>apple", "<>orange" }则会出现错误。 任何想法如何指定一个项目列表来过滤视图?

谢谢!