繁体   English   中英

C#:如何通过C#代码向Excel添加公式。 获取无效的公式错误

[英]C#: How to add formula to Excel through C# Code. Getting invalid Formula error

“我”列迄今

列“ H”具有起始日期

我想计算两个日期之间的差异并将其存储在“ 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;
    }

在days中填充公式值Formula =“ = DATEDIF(I18,H18,\\” d \\“)”

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

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

字符串daysFormula =“ = SUM(A18:B18)”; 但是我遇到了同样的错误。

我需要打电话给任何图书馆吗?

有什么建议么?

我建议检查“到”和“从”日期。

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

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

更新资料

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

cell.Formula = daysFormula;

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM