Мне нужно применить условное форматирование к диапазону вместо того, чтобы прикреплять условное форматирование к каждой ячейке. То, как я сейчас поступаю, это медленный процесс. У меня есть огромная ячейка, к которой я прилагаю условное форматирование для цикла 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 займет некоторое время. поэтому я хотел бы знать, могу ли я сделать то же самое с диапазоном вместо того, чтобы прикреплять условное форматирование к каждой ячейке.
Посоветуйте, пожалуйста, как сделать то же самое с диапазоном, но каждое значение в диапазоне будет сравниваться с конкретным значением. спасибо