C#Excel:使用模式匹配查找单元格

时间:2017-02-08 15:56:52

标签: c# excel-interop

有没有办法将Range.Find()方法与仅数字通配符或正则表达式一起使用?

我试图找到包含" 2015 M05"," 2016 M08"," 2017 M01"等值的细胞来解析日期在电子表格中。

enter image description here

到目前为止,我能想到的最好的是使用通配符"?"形成搜索字符串" ???? M2 +"

object missingVal = System.Reflection.Missing.Value;
Excel.Range match = allCells.Find("???? M??", missingVal, Excel.XlFindLookIn.xlValues, Excel.XlLookAt.xlPart,
    Excel.XlSearchOrder.xlByRows, Excel.XlSearchDirection.xlNext, false, missingVal, missingVal);

然而,只要我有一个两个措辞的标签,第二个单词以" M"开头,那就会遇到问题。

编辑:我认为最简单的事情是如果我有一些我可以在Range.Find()中使用的仅数字通配符。然而"#"似乎没有工作,所以我想知道是否有一些解决方法?

1 个答案:

答案 0 :(得分:2)

您可以在模式中使用*。假设 M ## 模式是唯一的*?M??之类的东西。