Aspose: изменить на GetFormatConditions() в Aspose 8.x

FormatConditionCollection collection = localCell.GetFormatConditions();
......
Int32 conditionIndexN = clN.AddCondition(FormatConditionType.Expression, OperatorType.None, collection[i].Formula1, collection[i].Formula2);

у меня есть код с использованием collection.Formula1 и collection.Formula2. Которые теперь не работают, когда я использую aspose.cells 8.x. Как мне добиться того же в новой версии aspose?


person NSN    schedule 19.01.2016    source источник


Ответы (1)


Боюсь, ваше требование не очень ясно, однако из вашего фрагмента я понимаю, что вы читаете правило условия, примененное к ячейке, и пытаетесь воспроизвести его для другого условия. Если я правильно понимаю, вы можете использовать метод Cell.GetValidation для получения правил проверки для конкретной ячейки, которая, в свою очередь, содержит свойства Formula1 и 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 для тщательное расследование.

Примечание. Я работаю разработчиком-евангелистом в 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");
person Prorata    schedule 19.01.2016