2010-01-12 21 views
9

Tengo una aplicación que necesita evaluar fórmulas lógicas de Excel y uso Excel DLL para hacer esto, pero DLL no es muy eficiente.C# - Evaluar fórmulas lógicas de Excel

.NET Framework (C#) tiene alguna clase que pueda hacer este trabajo?

una muestra

que proporcionan esta

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

Y conseguir esto

335,614 

Gracias

+0

Este es el mejor y sorprendente método CLIC [Aquí] (http://stackoverflow.com)/questions/1437964/best-and-shortest-way-to-evaluate-mathematical-expressions/1438829 # 1438829) – Sarbanjeet

Respuesta

0

Hay un par de programas de análisis de la expresión matemática que hay, por ejemplo, lundin, pero no estoy seguro si analizarán una expresión de Excel para ti. ¿Tiene que ser excelente?

+0

Fórmula necesita usar Excel sintax –

1

Utilizamos SpreadsheetGear para hacer esto - pero lo hace mucho más que simplemente la evaluación de fórmulas, por lo que podría ser excesiva para usted.

Parece ser rápido, y proporciona una API de .NET bastante fácil de usar.

8

Sí, de acuerdo, el método Excel.Application.Evaluate puede ser lento. Por lo general, se adapta a mis necesidades, pero no se aligera rápidamente.

Creo que la mejor fuente para la evaluación de fórmulas de Excel sin el modo de objeto de Excel es:

Algunos otros artículos relacionados:

Espero que esto ayude ...

2

estoy usando ActiveXls y se está haciendo un gran trabajo. No es un componente gratuito, así que tienes que pagarlo. No sé si hay componentes buenos y gratuitos, pero prefiero contar con soporte en caso de que lo necesite :)

Cuestiones relacionadas