2008-09-10 69 views
6

我有一套坐在.Net DLL中的計算方法。我想將這些方法提供給Excel(2003+)用戶,以便他們可以在他們的電子表格中使用它們。作爲Excel函數公開.net方法?

例如,我的.NET方法:

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

我想使他們只是在隨機單元格中鍵入一個公式來調用這個方法:

=CalculateSomethingReallyComplex(A1, B1) 

什麼是最好的方法來完成這個?

回答

8

你也應該看看ExcelDna(http://www.codeplex.com/exceldna)。 ExcelDna是一個開放源代碼項目(也可用於商業用途),允許您使用.Net創建原生.xll加載項。用戶定義的函數(UDF)和宏都可以創建。您的加載項代碼可以位於包含VB,C#或F#代碼的基於文本的腳本文件中,也可以位於託管的.dll文件中。

由於使用了本機Excel SDK接口,而不是基於COM的自動化,因此可以輕鬆部署基於ExcelDna的加載項並且無需註冊。 ExcelDna支持從Excel'97到Excel 2007的Excel版本,並支持Excel 2007數據類型(大表和Unicode字符串)以及Excel 2007下的多線程重新計算。