Excel.Range.Find方法

我正在使用Excel互操作对象并尝试通过以下方法在指定范围内查找日期

Excel.Range rngFind = WS.get_Range(strFromRange, strToRange).Find(strFind, Type.Missing, Excel.XlFindLookIn.xlFormulas, Excel.XlLookAt.xlPart, Excel.XlSearchOrder.xlByRows, Excel.XlSearchDirection.xlNext, false, false, false); 

但我得到rngFind为null总是我的strFind =“Sep-08”我尝试使用Excel.XlFindLookIn.xlFormulas和Excel.XlFindLookIn.xlValues

我的excel文件看起来像这样

 Sep-08 Oct-08 Nov-08 Dec-08 Jan-09 Feb-09 Mar-09 Apr-09 May-09 Jun-09 Jul-09 

如果当我点击08年9月的单元格我在Excel的公式字段中获得9/1/2008我也尝试搜索9/1/2008但它根据RegionalSettings Date格式按系统变化…

请帮我。 基本上我正在做的是获取查找字符串的单元格地址

使用Office 2007,Interop直接从Visual Studio生成。 我使用以下代码查找有问题的单元格:

 using System.Reflection; using Microsoft.Office.Interop.Excel; object False = false; object True = true; _Application excel = new Microsoft.Office.Interop.Excel.ApplicationClass(); Workbook wb = excel.Workbooks._Open(@"C:\tmp\StackOverflow.xlsx",False, False,Missing.Value,Missing.Value,False,False,Missing.Value,Missing.Value,False,Missing.Value,Missing.Value,True); _Worksheet ws = (_Worksheet)wb.Worksheets[1]; string from = "A1"; string to = "B1"; Range rng = ws.get_Range(from,to); Range findRng = rng.Find("Sep-08",Missing.Value,XlFindLookIn.xlValues,Missing.Value,Missing.Value,XlSearchDirection.xlNext,False,False,Missing.Value); 

您可以在如何使用Visual C#自动化Excel中找到Microsoft示例, 以使用数组填充或获取范围内的数据 。