恐怕,您的要求並不太清楚,但是,我從您的代碼段中瞭解到,您正在閱讀應用於單元格的條件規則,並試圖將其複製爲另一個條件。如果我的理解正確,那麼您可以使用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 support forum中的支持電子表格進行徹底調查。
注:我在Aspose擔任Developer Evangelist。
@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");