Я боюсь, ваше требование не очень ясно, однако я понимаю из вашего фрагмента, что вы читаете правило условия, применяемое к ячейке, и пытаетесь воспроизвести его для другого условия. Если я прав в своем понимании, вы можете использовать метод Cell.GetValidation для извлечения правил проверки для конкретной ячейки, которая, в свою очередь, содержит свойства Formula2 & Formula2. Пожалуйста, проверьте следующий фрагмент кода для лучшего понимания.
var book = new Workbook(dir + file);
var sheet = book.Worksheets[0];
var cell = sheet.Cells["A1"];
var validation = cell.GetValidation();
int index = sheet.ConditionalFormattings.Add();
var collection = sheet.ConditionalFormattings[index];
index = collection.AddCondition(FormatConditionType.Expression, OperatorType.None, validation.Formula1, validation.Formula2);
Тем не менее, в случае, если вы по-прежнему сталкиваются любые трудности, или мое понимание вашего представленного сценария не правильно, то я смиренно прошу вас, пожалуйста, поделитесь рабочую копию кода (с помощью предыдущей версии, где есть нет) вместе с таблицей поддержки в Aspose.Cells support forum для тщательного изучения.
Примечание: Я работаю евангелистом-разработчиком в Aspose.
@NSN, я внесла поправки в код, как следует. Пожалуйста, попробуйте на вашей стороне.
var book = new Workbook(dir + "book1.xlsx");
var sheet = book.Worksheets[0];
var cell = sheet.Cells["A1"];
FormatConditionCollection [] formatConditions = cell.GetFormatConditions();
var formatCondition = formatConditions[0];
int index = sheet.ConditionalFormattings.Add();
var collection = sheet.ConditionalFormattings[index];
index = collection.AddCondition(FormatConditionType.CellValue, OperatorType.Between, formatCondition[0].Formula1, formatCondition[0].Formula2);
collection.AddArea(CellArea.CreateCellArea("B1", "B2"));
collection[0].Style.Borders[BorderType.BottomBorder].LineStyle = CellBorderType.Thick;
collection[0].Style.Borders[BorderType.BottomBorder].Color = Color.Red;
book.Save(dir + "output.xlsx");