resto - Exponer métodos.net como funciones de Excel?
funciones de excel pdf (2)
Tengo un conjunto de métodos de cálculo en una .Net DLL. Me gustaría poner esos métodos a disposición de los usuarios de Excel (2003+) para que puedan usarlos en sus hojas de cálculo.
Por ejemplo, mi método .net:
public double CalculateSomethingReallyComplex(double a, double b) {...}
Me gustaría habilitarlos para llamar a este método simplemente escribiendo una fórmula en una celda aleatoria:
=CalculateSomethingReallyComplex(A1, B1)
¿Cuál sería la mejor manera de lograr esto?
Hay dos métodos: puede usar Visual Studio Tools para Office (VSTO):
http://blogs.msdn.com/pstubbs/archive/2004/12/31/344964.aspx
o puede usar COM:
http://blogs.msdn.com/eric_carter/archive/2004/12/01/273127.aspx
No estoy seguro de si el método VSTO funcionaría en versiones anteriores de Excel, pero el método COM debería funcionar bien.
También debería echar un vistazo a ExcelDna ( http://www.codeplex.com/exceldna ). ExcelDna es un proyecto de código abierto (también gratuito para uso comercial) que le permite crear complementos nativos .xll usando .Net. Se pueden crear funciones definidas por el usuario (UDF) y macros. Su código de complemento puede estar en archivos de script basados en texto que contengan código VB, C # o F #, o en .dlls gestionados.
Dado que se utilizan las interfaces nativas de Excel SDK, en lugar de la automatización basada en COM, los complementos basados en ExcelDna se pueden implementar fácilmente y no requieren registro. ExcelDna es compatible con las versiones de Excel desde Excel ''97 a Excel 2007, e incluye compatibilidad con los tipos de datos de Excel 2007 (hoja grande y cadenas Unicode), así como el recálculo de subprocesos múltiples en Excel 2007.