c#:如何通过c#代码在Excel中添加公式.得到无效公式错误

本文关键字:错误 无效 添加 何通过 代码 Excel | 更新日期: 2023-09-27 18:07:39

列'I' have To date

列'H'有From date

我想计算两个日期之间的差值并将其存储在列'J'中。

=DATEDIF(I18,H18,"d")"

如果我执行下面的代码,我会得到以下错误。

错误:无效公式。用户代码未处理ArgumentException。

    private void FillExcelCellFormula(IRange cell, int row, int column, object content)
    {
        string row1 = "I" + Convert.ToString(row);
        string row2 = "H" + Convert.ToString(row);
        string dquote = @"""d""";
        string daysFormula = "=DATEDIF(" + row1 + "," + row2 + "," + dquote + ")";
        cell.FormulaR1C1 = daysFormula;
    }

公式值以天为单位填充公式= "=DATEDIF(I18,H18,'"d'")"

虽然我不确定'''是否是错误背后的原因。

即使是简单的求和函数也不起作用。我将公式替换为一个更简单的公式,如

string daysFormula = "=SUM(A18:B18)";然而,我得到同样的错误。

我要打电话去图书馆吗?

有什么建议吗?

c#:如何通过c#代码在Excel中添加公式.得到无效公式错误

我建议检查To &从日期。

它们以什么格式存储在你的Excel文件中?

如果它们被存储为字符串,这可能会导致错误。日期需要存储为整数,样式应用于将它们显示为日期。

顺便说一句,愚蠢的问题:如果你使用Formula而不是FormulaR1C1会发生什么:

cell.Formula = daysFormula;