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))))) 

得到这个

 335,614 

谢谢

是的,同意, Excel.Application.Evaluate方法可能会很慢。 它通常适合我的需求,但它并不快。

我认为评估没有Excel对象模式的Excel公式的最佳来源是:

  • Excel公式分析,在C#

其他一些相关的文章:

  • 调查到Excel语法和公式语法
  • 生成运行时代码以加速电子表格计算
  • VectorExcel

  • 实现类似Excel的公式引擎

希望这可以帮助…

你可以看看

实现类似Excel的公式引擎

我正在使用ActiveXls ,它做得很好。 这不是一个免费的组件,所以你必须付钱。 我不知道是否有任何好的和免费的组件,但我更喜欢有支持的情况下,我需要它:)

我们使用SpreadsheetGear来做到这一点 – 但是它不仅仅是评估公式,而是做了很多事情,所以对你来说可能是过度的。

它似乎很快,并提供了一个相当容易使用的.NET API。

在那里有几个mathexpression式parsing器,例如lundin ,但我不确定他们会为你parsing一个excelexpression式。 它必须是优秀的吗?