【问题标题】:Create Excel Sheet with LINEST via C#通过 C# 使用 LINEST 创建 Excel 工作表
【发布时间】:2016-11-04 21:17:30
【问题描述】:

我有一个 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# 中,我不得不替换 ';'用逗号。

【问题讨论】:

  • 您是否尝试过在公式中使用, 而不是;

标签: c# excel


【解决方案1】:

Excel 的 COM 接口使用美国列表分隔符。这就是为什么您在公式中需要, 而不是;

试试:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-04-01
    • 1970-01-01
    • 1970-01-01
    • 2013-12-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多