2017-02-17 58 views
1

我正在使用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) 

(換行和空格爲方便起見,他們是不是在實際公式存在)

基本上它執行以下操作:

  1. 在尋找一個排另一張(原始數據)兩列A5='Raw data' A列AND B5 = 'Raw data' B列
  2. 獲取第3列已發現
  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中的一個錯誤,還是我做錯了什麼?

回答

-1

嘛因此,Aspose.Cells可能不支持在有條件的打印格式數組公式。我們建議您慈祥張貼您的問題/要求納入Aspose.Cells forums。給我們完整的詳細信息和完整的示例代碼可通過MS Excel的手動創建您的預計Excel文件。我們可以在那裏幫助你。

我在Aspose擔任支持開發人員/宣傳員。

相關問題