EPPlus & C #: как применить условное форматирование к диапазону вместо прикрепления к каждой ячейке - PullRequest
1 голос
/ 23 марта 2019

Мне нужно применить условное форматирование к диапазону вместо того, чтобы прикреплять условное форматирование к каждой ячейке. То, как я сейчас поступаю, это медленный процесс. У меня есть огромная ячейка, к которой я прилагаю условное форматирование для цикла for, который становится медленным для меня. поэтому я ищу способ сделать то же самое в диапазоне, который может уменьшить несколько итераций.

FileInfo existingFile = new FileInfo("Test.xlsx");
using (var package = new ExcelPackage(existingFile))
{
    ExcelWorkbook workBook = package.Workbook;

    var currentWorksheet = workBook.Worksheets.First();
    currentWorksheet.Workbook.CalcMode = ExcelCalcMode.Automatic;

    for (int i = 1; i < 12; i++)
    {
        ExcelAddress _formatRangeAddress = new ExcelAddress("$A$" + i);

        int j = 11 - i;
        string _statement = "=$A$" + i + ">$A$" + j;
        var f = currentWorksheet.ConditionalFormatting.AddExpression(_formatRangeAddress);
        f.Style.Fill.BackgroundColor.Color = Color.Green;
        f.Formula = _statement;

        _statement = " =$A$" + i + "<$A$" + j;
        f = currentWorksheet.ConditionalFormatting.AddExpression(_formatRangeAddress);
        f.Style.Fill.BackgroundColor.Color = Color.Red;
        f.Formula = _statement;
    }


    package.Save();
}

надеюсь, понятно, что я делаю. Я сравниваю значение с каждой ячейкой для конкретной ячейки. если значение меньше, то цвет будет красным, в противном случае цвет будет зеленым.

Моя проблема в том, что я повторяю цикл for, чтобы прикрепить условное форматирование к каждой ячейке, которая становится медленной. когда мне придется повторять во многих ячейках, цикл for займет некоторое время. поэтому я хотел бы знать, могу ли я сделать то же самое с диапазоном вместо того, чтобы прикреплять условное форматирование к каждой ячейке.

Посоветуйте, пожалуйста, как сделать то же самое с диапазоном, но каждое значение в диапазоне будет сравниваться с конкретным значением. спасибо

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