2016-01-19 5 views
0
FormatConditionCollection collection = localCell.GetFormatConditions(); 
...... 
Int32 conditionIndexN = clN.AddCondition(FormatConditionType.Expression, OperatorType.None, collection[i].Formula1, collection[i].Formula2); 

У меня есть код с использованием коллекции.Formula1 и коллекция.Formula2. Которые теперь сломаны, когда я использую aspose.cells 8.x. Как добиться того же результата в новой версии aspose?Назначение: перейти на GetFormatConditions() в Aspose 8.x

ответ

1

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