我有一个应用程序,需要评估Excel逻辑公式,我使用Excel DLL来执行此操作,但DLL不是非常有效.
.NET Framework(C#)有任何可以创建此作业的类吗?
一个样本
我提供这个
=IF(AND(10>=-5;10<0);(-3,8*10+335);IF(AND(10>=0;10<5);(1,4*10+335);IF(AND(10>=5;10<14,4);(-1,2766*10+348,38);IF(AND(10>=14,4;10<25);(-1,5094*10+351,74);IF(AND(10>=25;10<=45);(-1,4*10+349);0)))))
Run Code Online (Sandbox Code Playgroud)
得到这个
335,614
Run Code Online (Sandbox Code Playgroud)
谢谢
我的代码设置了很多单元格值.最后,在生成excel文件之前,需要评估每个单元格中的公式.对于大多数床单来说,情况进展顺利.
但是,有一个单元格抛出异常.该单元格正在计算其后的一系列单元格的平均值,并参考其他工作表中的单元格.我想当第一个细胞试图计算平均值时,之后的细胞还没有被评估.
这是该单元格的公式
=IFERROR(AVERAGEIF(D2:AU2,"<>-"),"-")
Run Code Online (Sandbox Code Playgroud)
我怀疑这是因为单元格int在其他工作表中引用了单元格.D2例如,具有以下公式=Common!E2.
所以我决定做的是:
try-catch块中执行公式.我注意到同一个单元格一直在抛出错误.只是为了能够退出循环,我数到3次迭代.
生成excel生成时,该单元格具有该值-.但是,当我选择单元格然后按enter,它会执行并显示正确的值.
我推迟执行该单元格的原因是,在第一次迭代之后,已经评估了引用其他工作表的单元格.但是,它仍然没有工作,因为它不断抛出异常.
谢谢你的帮助.
我正在使用npoi和c#.