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

C#Excel高级自动筛选以排除值列表,c#,excel,excel-interop,autofilter,C#,Excel,Excel Interop,Autofilter,我想使用C#对Excel中的列应用自动筛选,但只想显示不等于指定列表的值 原始列表如下所示: 我希望使用以下条件筛选“apple”和“orange” 这将产生一个如下所示的列表: 但是,使用以下代码只能显示与我所追求的相反的结果: private void ActivateAutoFilter() { this.Range["A1", "C1"].Value2 = GetArrayFromList(new List<string>() { "H1"

我想使用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);
        }
private void ActivateAutoFilter()
{
这个.Range[“A1”,“C1”].Value2=GetArrayFromList(新列表(){“H1”,“H2”,“H3”});
this.Range[“A2”,“C2”].Value2=GetArrayFromList(新列表(){“苹果”、“苹果”、“苹果”});
this.Range[“A3”,“C3”].Value2=GetArrayFromList(新列表(){“orange”,“orange”,“orange”});
这个.Range[“A4”,“C4”].Value2=GetArrayFromList(新列表(){“pear”,“pear”,“pear”});
Microsoft.Office.Tools.Excel.NamedRange my_named_range=this.Controls.AddNamedRange(this.range[“A1”、“C1”],“my_named_range”);
字符串[]listFilter=新字符串[]{“苹果”,“橙色”};
my_named_range.AutoFilter(1,listFilter,Excel.XlAutoFilterOperator.xlFilterValues,System.Type.Missing,true);
}
反向:

然而,如果我将标准从:
{“apple”,“orange”}
更改为:
{“apple”,“orange”}
我会得到一个错误。知道如何指定要筛选出视图的项目列表吗

非常感谢