Aspose.Cells在条件格式中使用数组(Ctrl + Shift + Enter或CSE)公式

我正在使用Aspose.Cells .NET并试图在条件格式化expression式中使用数组公式( Ctrl + Shift + Enter或CSE)。 数组公式如下所示:

 =VALUE (INDEX('Raw data'!$A$5:$AE$32; MATCH(1;(A5='Raw data'!$A$5:$A$32)*(B5='Raw data'!$B$5:$B$32);0); 3) ) <> VALUE(C5) 

(换行符和空格为了方便起见,它们在实际公式中不存在)

基本上它有以下几点:

  1. 在另一个工作表(原始数据)中查找一行两列A5='Raw data'列A AND B5 = 'Raw data'列B
  2. 获取find的一行中的第3列
  3. 检查它的值不等于C5单元格

它工作时,我把它直接放入单元格(与Ctrl + Shift + Enter )它也适用于当我创build条件格式(与它)手动与Ms Excel 2010。

但是,当我尝试应用它虽然Aspose.Cells它抛出exception

无效的公式

 // Add an empty conditional formatting int index = worksheet.ConditionalFormattings.Add(); FormatConditionCollection fcs = ws.ConditionalFormattings[index]; //Add area for conditional formatting fcs.AddArea(cellArea); var condition = String.Format(formulaTemplate, initialDataRange, okpoCellName, initialDataOkpoColumnRange, initialDataColumn, currentCellName); // Throws here // condition = "=VALUE(INDEX('Raw data'!$A$5:$AE$32;MATCH(1;(A5='Raw data'!$A$5:$A$32)*(B5='Raw data'!$B$5:$B$32);0);3)) <> VALUE(C5)" int conditionIndex = fcs.AddCondition(FormatConditionType.Expression, OperatorType.None, condition, ""); 

我怀疑,当我添加条件,Aspose试图评估它像往常一样公式(而不是数组公式),并失败。 有什么办法可以禁用/推迟这个评估吗? 这是Aspose中的一个错误,还是我做错了什么?

那么,Aspose.Cells可能不支持条件格式中的数组公式。 我们build议您将您的问题/要求发布到Aspose.Cells论坛 。 给我们完整的细节和完整的示例代码与您可以手动创buildMS Excel的预期的Excel文件。 我们可以在那里帮助你。

我在Aspose担任Support developer / Evangelist。