C# epplus Excel持续时间公式在C中不起作用#
我在C# epplus Excel持续时间公式在C中不起作用#,c#,excel-formula,epplus,duration,C#,Excel Formula,Epplus,Duration,我在C# 此公式在Excel中有效,但在此代码中无效 最后,结果变量的值变为{#NAME?}。 但是它在Excel中的值是.803,正如注释中所建议的那样,epplus的当前版本不支持MDURATION功能 但是,您可以使用另一个NuGet包:如下所示: using Excel.FinancialFunctions; //... //var formula = "MDURATION(43860.3507195718,44233,0.2,0.199014876362008,2,3)"; Da
C#
此公式在Excel中有效,但在此代码中无效
最后,结果变量的值变为{#NAME?}
。
但是它在Excel中的值是
.803
,正如注释中所建议的那样,epplus
的当前版本不支持MDURATION
功能
但是,您可以使用另一个NuGet包
:如下所示:
using Excel.FinancialFunctions;
//...
//var formula = "MDURATION(43860.3507195718,44233,0.2,0.199014876362008,2,3)";
DateTime start = new DateTime(1900, 01, 01);
double modifiedDuration = Financial.MDuration(
start.AddDays(43860.3507195718),
start.AddDays(44233),
0.2,
0.199014876362008,
(Frequency)2,
(DayCountBasis)3);
workSheet.Cells["Z8"].Value = modifiedDuration;
有一个关于如何附加记录器以查看公式哪里出了问题的建议-将其输出添加到问题中可能会有帮助请注意,不包含mdurational。请注意,要使用的区域设置始终为en,Vs。。。
using Excel.FinancialFunctions;
//...
//var formula = "MDURATION(43860.3507195718,44233,0.2,0.199014876362008,2,3)";
DateTime start = new DateTime(1900, 01, 01);
double modifiedDuration = Financial.MDuration(
start.AddDays(43860.3507195718),
start.AddDays(44233),
0.2,
0.199014876362008,
(Frequency)2,
(DayCountBasis)3);
workSheet.Cells["Z8"].Value = modifiedDuration;