通过C#使用LINEST创建Excel工作表

时间:2016-11-04 12:15:33

标签: c# excel

我有一个C#应用程序,它必须使用公式创建一个Excel文件。 简单的公式很好。 但是当我使用LINEST(...)时,我得到了一个异常。

初始化对象:

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#中我不得不替换&#39 ;;'用逗号。

1 个答案:

答案 0 :(得分:0)

Excel的COM界面使用美国列表分隔符。这就是您在公式中需要,而不是;的原因。

尝试:

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