Pregunta

Tengo un conjunto de métodos de cálculo en una DLL .Net.Me gustaría que esos métodos estén disponibles para 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 permitirles 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?

¿Fue útil?

Solución

Hay dos métodos: puede utilizar Visual Studio Tools para Office (VSTO):

http://blogs.msdn.com/pstubbs/archive/2004/12/31/344964.aspx

o puedes 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.

Otros consejos

También deberías 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 .xll nativos utilizando .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 archivos .dll administrados.

Dado que se utilizan las interfaces nativas del SDK de Excel, en lugar de la automatización basada en COM, los complementos basados ​​en ExcelDna se pueden implementar fácilmente y no requieren registro.ExcelDna admite versiones de Excel desde Excel '97 hasta Excel 2007 e incluye soporte para los tipos de datos de Excel 2007 (hoja grande y cadenas Unicode), así como recálculo multiproceso en Excel 2007.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top