Поиск нескольких текстов в Excel - PullRequest
0 голосов
/ 28 августа 2018

Хорошо, у меня есть файл Excel, я просматриваю ячейки, чтобы найти значение "X", например. Если он найден, я что-то делаю. У меня есть несколько значений, хотя. Можно ли использовать .Find со списком или что-то?

var missing = System.Reflection.Missing.Value;

Microsoft.Office.Interop.Excel.Range currentFind = null;
Microsoft.Office.Interop.Excel.Range firstFind = null;

Microsoft.Office.Interop.Excel.Range Fruits = xlWorkSheet.Cells;

currentFind = Fruits.Find("X",  missing ,
    Microsoft.Office.Interop.Excel.XlFindLookIn.xlValues, Microsoft.Office.Interop.Excel.XlLookAt.xlPart,
    Microsoft.Office.Interop.Excel.XlSearchOrder.xlByRows, Microsoft.Office.Interop.Excel.XlSearchDirection.xlNext, false,
    missing, missing);

while (currentFind != null)
{
    // Keep track of the first range you find. 
    if (firstFind == null)
    {
        firstFind = currentFind;
    }
    else if (currentFind.get_Address(Microsoft.Office.Interop.Excel.XlReferenceStyle.xlA1)
          == firstFind.get_Address(Microsoft.Office.Interop.Excel.XlReferenceStyle.xlA1))
    {
        break;
    }

    currentFind.Interior.Color = System.Drawing.ColorTranslator.ToOle(System.Drawing.Color.MediumPurple);

    currentFind = Fruits.FindNext(currentFind);
}

У меня есть еще 5 значений ("A", "B", "C", "D", "Z"). Если я повторю тот же код выше, это означает, что ему придется запустить еще один цикл еще раз, и это займет время. Можно ли сделать так, чтобы он проверял сразу все значения?

...