在运行时用 C# 创建 Excel 工作表函数 (UDF)
是否可以在 C# 中动态创建工作表函数,即不使用方法属性方法? 或者这是仅使用 XLL 支持的东西?
我想要实现的是从源检索函数列表(以及参数)并注册这些函数。 这些函数仅用作对服务器的调用,因此这些函数的内容不是主要问题。
感谢您的投入!
Is it possible to create worksheet functions dynamically in C#, that is, without using the method attribute approach? Or is this something that's only supported using an XLL?
What I'm looking at achieving is to retrieve a functions list (along with parameters) from a source and register these functions. These functions will just serve as a call to a server, so the content of these functions is not of any major concern.
Thanks for your inputs!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
ExcelDna 支持您的方案(位于 CodePlex 或 Google 网上论坛),一个使用 .Net 创建 Excel 用户定义函数插件的免费库。 它还允许您即时创建导出的函数和宏。 这些函数可以位于您通过反射找到并加载的程序集中,也可以使用 DynamicMethods 动态生成函数。
但是,ExcelDna 是作为 .xll 插件实现的,与自动化插件相比,它具有多个优点。 所以这并不能完全回答你的问题。 应该可以使用反射创建和注册自动化插件,但我不确定相对于 ExcelDna 实现的优势是什么。
——戈弗特——
Your scenario is supported by ExcelDna (on CodePlex or Google Groups), a free library to create Excel user-defined function add-ins with .Net. It also allows you to create the exported functions and macros on the fly. These functions can either be in an assembly you locate and load with reflection, or you can generate the functions on the fly using DynamicMethods.
However, ExcelDna is implemented as an .xll add-in, which has several advantages over the Automation Add-Ins. So this does not exactly answer your question. It should be possible to create and register an automation add-in using reflection but I'm not sure what the advantage over the ExcelDna implementation would be.
--Govert--
事实证明,事实并非如此。
只有 XLL 插件才能让您能够在运行时注册函数。
Turns out, its not.
Only an XLL add-in gives you the ability to register functions at runtime.