2016-11-04 103 views
0

我有一個C#應用程序必須使用公式創建Excel文件。 簡單的公式工作正常。 但是,當我使用LINEST(...)我得到一個異常。通過C#LINEST創建Excel表格

初始化對象:

using Microsoft.Office.Interop.Excel; 

var Application xlApp = new Microsoft.Office.Interop.Excel.Application(); 
Workbook xlWorkBook = xlApp.Workbooks.Add(misValue); 
var currentWorksheet = xlWorkBook.Worksheets.get_Item(1); 

string myLinestFormulaString ="LINEST(LN(C1:C10);$A1:$A10;TRUE;FALSE)"; 

的線下導致異常HRESULT:0x800A03EC

currentWorksheet.Cells[12, 3].Formula = myLinestFormulaString; // Write to C12 

我知道HRESULT意味着有一些錯誤的公式字符串。


編輯:問題解決。 我使用德語版的Excel。在C#中,我必須替換';'用逗號。

+3

您是否嘗試過的'''代替;'你的表現公式? – hofmeister

回答

0

Excel的COM接口使用美式列表分隔符。這就是爲什麼你需要,而不是你的公式中的;

嘗試:

string myLinestFormulaString = "LINEST(LN(C1:C10),$A1:$A10,TRUE,FALSE)";