如何使用c#查找excel中相应搜索值的所有值?

时间:2018-11-27 09:09:36

标签: c# excel

我有一个问题。

使用c#可以使用id.i读取值并在循环中使用if (id == excelSheet1.Cells[j, 1].Value)搜索值来查找值。 它会检查所有记录,如果找到匹配项,则返回值并退出循环。

int id=101;

是否可以像excel.contains(id)这样更快的方法来寻找价值? 我的代码使用线性搜索方法,很费时间。

请帮助我。

2 个答案:

答案 0 :(得分:0)

如果要将数据存储在DataTable中,则可以使用Select()方法并通过查询查找所有行(例如DataRow[] matches dt.Select("ID = " + id);)。

根据我的经验,它的运行速度非常快,但是我从未在非常大的表上进行过检查(我通常在包含10,000-15,000条记录的表上进行过检查)。

答案 1 :(得分:0)

回答我的问题。谢谢您。

       string id = "OZHAN1";

        Microsoft.Office.Interop.Excel.Range resultRange = excelRange.Find(

        What: id,

        LookIn: Microsoft.Office.Interop.Excel.XlFindLookIn.xlValues,

        LookAt: Microsoft.Office.Interop.Excel.XlLookAt.xlPart,

        SearchOrder: Microsoft.Office.Interop.Excel.XlSearchOrder.xlByRows,

        SearchDirection: Microsoft.Office.Interop.Excel.XlSearchDirection.xlNext

        );
        string sAddress = resultRange.get_Address(false, false, Microsoft.Office.Interop.Excel.XlReferenceStyle.xlA1, false, false);
        string b= excelSheet.Cells[resultRange.Row, 5].VALUE;