Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/323.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cassandra/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何使用C过滤excel中的整列,其中包含一些值,如;ODM";?_C#_Excel_Interop - Fatal编程技术网

C# 如何使用C过滤excel中的整列,其中包含一些值,如;ODM";?

C# 如何使用C过滤excel中的整列,其中包含一些值,如;ODM";?,c#,excel,interop,C#,Excel,Interop,有人知道如何使用INTEROP C#过滤excel的一列,并过滤所有包含“ODM”或“AAS”的值吗。我已经尝试使用namedRange.autofilter,但它只返回那些只写“ODM”或“AAS”的值,而不返回其他值。似乎表明Excel筛选器不支持正则表达式。我自己的经验与此产生共鸣。那么,退一步,我们如何解决您的问题?那么看看,这个想法似乎是这样的: 将整个列读入一个数组:Interop让您可以一次高效地完成这项工作 使用C#强大的正则表达式引擎将该数组过滤为符合正则表达式的一组值 使用

有人知道如何使用INTEROP C#过滤excel的一列,并过滤所有包含“ODM”或“AAS”的值吗。我已经尝试使用namedRange.autofilter,但它只返回那些只写“ODM”或“AAS”的值,而不返回其他值。

似乎表明Excel筛选器不支持正则表达式。我自己的经验与此产生共鸣。那么,退一步,我们如何解决您的问题?那么看看,这个想法似乎是这样的:

  • 将整个列读入一个数组:Interop让您可以一次高效地完成这项工作
  • 使用C#强大的正则表达式引擎将该数组过滤为符合正则表达式的一组值
  • 使用在上一步中使用正则表达式过滤器创建的数组动态生成的Criteria1调用
我不打算为您编写代码,但我非常肯定上述方法会奏效,如果您需要帮助,我很乐意与您协商。

似乎表明Excel筛选器不支持正则表达式。我自己的经验与此产生共鸣。那么,退一步,我们如何解决您的问题?那么看看,这个想法似乎是这样的:

  • 将整个列读入一个数组:Interop让您可以一次高效地完成这项工作
  • 使用C#强大的正则表达式引擎将该数组过滤为符合正则表达式的一组值
  • 使用在上一步中使用正则表达式过滤器创建的数组动态生成的Criteria1调用

我不打算为您编写代码,但我很确定上述方法会起作用,如果您需要帮助,我很乐意与您协商。

无论如何都不是互操作专家,但我认为
AutoFilter
支持通配符。是的,它可以工作,但只需要在filter上以相同方式写入的值,例如:NamedRange.AutoFilter(“ABCABC”,“ABCABC”,“ABCABC”,“ABCABC”)此筛选器将只接受那些没有任何通配符的“ABCABC”单元格^(无论如何都不是互操作专家,但我认为
AutoFilter
支持通配符。是的,它可以工作,但它只接受以相同方式在筛选器上写入的值,例如:NamedRange.AutoFilter(“ABCABC”),“,”,…)此筛选器将只接受那些“ABCABC”单元格。^没有任何通配符?实际上不是:(