我想使用 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" }
我得到一个错误。知道如何指定要过滤掉的项目列表吗?
感谢您的建议!