Найти и заменить всю строку, используя EPPLUS - PullRequest
0 голосов
/ 26 мая 2019

Как найти и заменить всю строку на листе с помощью EPPLUS?

в макросе Excel это просто так:

Cells.Replace What:="k", Replacement:="w", LookAt:=xlPart, SearchOrder _
    :=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False

1 Ответ

0 голосов
/ 26 мая 2019

Быстрый способ поиска и замены значений ячеек в EPPLus заключается в использовании Linq в EEPlus. Я написал простой пример для вас. В моей электронной таблице было почти 10 столбцов и 1157 строк, и поиск и замена значений заняли менее секунды.

    var valueToSearch = "Foo";
    var valueToReplace = "Bar";
    var sheetName = "Sheet1";
    var filePath = @"d:\foo-bar.xlsx";

    using (var excel = new ExcelPackage(new System.IO.FileInfo(filePath)))
    {
        var ws = excel.Workbook.Worksheets[sheetName];

        // search in all cells
        // https://github.com/JanKallman/EPPlus/wiki/Addressing-a-worksheet
        var query = from cell in ws.Cells["A:XFD"] 
                    where cell.Value?.ToString().Contains(valueToSearch) == true
                    select cell;

        foreach(var cell in query)
        {
            cell.Value = cell.Value.ToString().Replace(valueToSearch, valueToReplace);
        }

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