Pergunta

Eu tenho um conjunto de métodos de cálculo em uma DLL .Net.Gostaria de disponibilizar esses métodos aos usuários do Excel (2003+) para que possam utilizá-los em suas planilhas.

Por exemplo, meu método .net:

public double CalculateSomethingReallyComplex(double a, double b) {...}

Gostaria que eles chamassem esse método apenas digitando uma fórmula em uma célula aleatória:

=CalculateSomethingReallyComplex(A1, B1)

Qual seria a melhor maneira de conseguir isso?

Foi útil?

Solução

Existem dois métodos - você pode usar o Visual Studio Tools for Office (VSTO):

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

ou você pode usar COM:

http://blogs.msdn.com/eric_carter/archive/2004/12/01/273127.aspx

Não tenho certeza se o método VSTO funcionaria em versões mais antigas do Excel, mas o método COM deve funcionar bem.

Outras dicas

Você também deve dar uma olhada no ExcelDna (http://www.codeplex.com/exceldna).ExcelDna é um projeto de código aberto (também gratuito para uso comercial) que permite criar suplementos .xll nativos usando .Net.Podem ser criadas funções definidas pelo usuário (UDFs) e macros.O código do suplemento pode estar em arquivos de script baseados em texto contendo código VB, C# ou F# ou em .dlls gerenciados.

Como são usadas interfaces nativas do SDK do Excel, em vez da automação baseada em COM, os suplementos baseados em ExcelDna podem ser facilmente implantados e não exigem registro.ExcelDna oferece suporte a versões do Excel do Excel '97 ao Excel 2007 e inclui suporte para os tipos de dados do Excel 2007 (planilha grande e strings Unicode), bem como recálculo multithread no Excel 2007.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top