2010-01-12 4 views
9

J'ai une application qui ont besoin d'évaluer Excel Formules logiques et j'utilise Excel DLL pour ce faire, mais DLL est pas très efficace.C# - Évaluer Excel Formules logiques

.NET Framework (C#) a une classe qui peut faire ce travail?

Un échantillon

Je fournir ce

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

Et obtenez ce

335,614 

Merci

+0

C'est le meilleur et CLICK impressionnant de méthode [ici] (http://stackoverflow.com/questions/1437964/best-and-shortest-chemin-d'évaluation-mathématique-expressions/1438829 # 1438829) – Sarbanjeet

Répondre

0

Il y a un couple d'expression mathématique parseurs là-bas, par exemple lundin, mais je ne suis pas sûr qu'ils vont analyser une expression Excel pour vous. Est-ce que ça doit être excellent?

+0

Formule besoin d'utiliser sintax Excel –

1

Nous utilisons SpreadsheetGear pour le faire - mais il ne beaucoup plus que les formules d'évaluation juste, donc peut-être trop pour vous.

Il ne semble être rapide, et offre un très facile à utiliser l'API .NET, aussi.

8

Oui, d'accord, la méthode Excel.Application.Evaluate peut être lent. Cela convient généralement à mes besoins, mais il ne s'éclaircit pas rapidement.

Je pense que la meilleure source pour évaluer les formules Excel sans le mode d'objet Excel est:

D'autres articles connexes:

Hope this helps ...

2

J'utilise ActiveXls et il fait un excellent travail. Ce n'est pas un composant gratuit, donc vous devez payer pour cela. Je ne sais pas s'il y a des bons et des composants libres là-bas, mais je préfère avoir le soutien au cas où je besoin :)

Questions connexes