相关疑难解决方法(0)

C# - 评估Excel逻辑公式

我有一个应用程序,需要评估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)

谢谢

.net c# excel

10
推荐指数
3
解决办法
2万
查看次数

如何重新计算细胞的公式?

我的代码设置了很多单元格值.最后,在生成excel文件之前,需要评估每个单元格中的公式.对于大多数床单来说,情况进展顺利.

但是,有一个单元格抛出异常.该单元格正在计算其后的一系列单元格的平均值,并参考其他工作表中的单元格.我想当第一个细胞试图计算平均值时,之后的细胞还没有被评估.

这是该单元格的公式

=IFERROR(AVERAGEIF(D2:AU2,"<>-"),"-")
Run Code Online (Sandbox Code Playgroud)

我怀疑这是因为单元格int在其他工作表中引用了单元格.D2例如,具有以下公式=Common!E2.

所以我决定做的是:

  1. 包裹调用以在try-catch块中执行公式.
  2. 如果执行单元格抛出异常,我保存该单元格的坐标.
  3. 然后我执行抛出异常的单元格

我注意到同一个单元格一直在抛出错误.只是为了能够退出循环,我数到3次迭代.

生成excel生成时,该单元格具有该值-.但是,当我选择单元格然后按enter,它会执行并显示正确的值.

我推迟执行该单元格的原因是,在第一次迭代之后,已经评估了引用其他工作表的单元格.但是,它仍然没有工作,因为它不断抛出异常.

谢谢你的帮助.

更新

我正在使用npoi和c#.

c# excel npoi

2
推荐指数
1
解决办法
5690
查看次数

标签 统计

c# ×2

excel ×2

.net ×1

npoi ×1