我正在使用Aspose.Cells .NET
,我試圖在條件格式化表達式中使用數組公式(Ctrl + Shift + Enter或CSE) 。數組公式是這樣的:Aspose.Cells在條件格式中使用數組(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)
(換行和空格爲方便起見,他們是不是在實際公式存在)
基本上它執行以下操作:
- 在尋找一個排另一張(原始數據)兩列
A5='Raw data'
A列ANDB5 = 'Raw data'
B列 - 獲取第3列已發現
- 檢查其值不等於C5細胞
當我手動將其直接插入到細胞(具有CTRL + SHIFT +輸入) 當我創建條件格式(它)它也可以它的工作原理使用MS Excel 2010
但是當我嘗試,雖然它的Aspose.Cells拋出異常
無效的公式來套用它
// 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中的一個錯誤,還是我做錯了什麼?