gpt4 book ai didi

c# - Excel.Range.Find 方法

转载 作者:行者123 更新时间:2023-12-02 01:48:21 24 4
gpt4 key购买 nike

我正在使用 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

当我点击 Sep-08 单元格时,我在 Excel 的公式字段中得到 9/1/2008我也尝试过搜索 9/1/2008,但它根据区域设置日期格式因系统而异...

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

最佳答案

使用 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);

您可以在 How to automate Excel by using Visual C# to fill or to obtain data in a range by using arrays 找到 Microsoft 示例。 .

关于c# - Excel.Range.Find 方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2621620/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com