[英]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.