Как найти все значения соответствующего значения поиска в Excel, используя C #? - PullRequest
0 голосов
/ 27 ноября 2018

У меня есть одна проблема.

с помощью c # возможно ли найти значения с помощью id.i, прочитать файл Excel и поиск значения с помощью if (id == excelSheet1.Cells[j, 1].Value) в цикле.Он проверяет все записи, если найдено совпадение, возвращает значение и выходит из цикла.

int id=101;

Возможно ли найти значение в более быстром методе, таком как excel.contains(id)?мой код использует метод линейного поиска, это отнимает много времени.

, пожалуйста, помогите мне.

Ответы [ 2 ]

0 голосов
/ 27 ноября 2018

Ответь на мой вопрос. Спасибо тебе, Менди.

       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;
0 голосов
/ 27 ноября 2018

Если вы будете хранить данные в DataTable, вы можете использовать метод Select () и найти все строки по запросу (например, DataRow[] matches dt.Select("ID = " + id);).

По моему опыту, это довольно быстро, но я никогда не проверял его на очень больших таблицах (в основном я проверял его на таблицах, содержащих от 10 000 до 15 000 записей).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...