2016-11-04 49 views
0

私は数式でExcelファイルを作成する必要があるC#アプリケーションを持っています。 簡単な数式がうまくいきます。 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

あなたは '、' '代わりのみました;'あなたformularで? – hofmeister

答えて

0

ExcelのCOMインターフェイスでは、アメリカのリストセパレータを使用します。だからこそ;の代わりに,があなたの表記に必要です。

試してみてください。

string myLinestFormulaString = "LINEST(LN(C1:C10),$A1:$A10,TRUE,FALSE)"; 
関連する問題