在C#程序中从excel调用自定义函数



我有一个excel插件(*.xla),它包含许多复杂的函数,这些函数都接受输入参数和返回值。很遗憾,我无法创建*.XLL,因为我没有访问*.xla文件的权限。

我已经设法使用C#将excel函数写入一个单元格(作为字符串),计算单元格,然后将结果检索回C#。这种方法有效,但感觉非常随意,效率低下。

考虑到上面描述的情况,有没有更好的方法从C#调用自定义excel函数(接受参数)?

使用优秀的Excel DNA构建一个C#XLL,使用xlfEvaluate调用.xla中定义的UDF怎么样?xlfEvaluate的MSDN文档:https://msdn.microsoft.com/en-us/library/office/bb687913.aspx.您可以传入任何可以出现在工作表单元格中的字符串。因此,编写一些C#代码将VBA函数的名称和一些参数组合成字符串,然后将它们传递给xlfEvaluate应该不会太困难。

最新更新