繁体   English   中英

从C#调用XLL文件中的函数

[英]Calling function in XLL file from C#

我有一个具有功能的xll文件,我想从C#调用该功能。 这个xll文件用在excel中。有人知道怎么做吗?。我试着刷新xll文件,但是我没有得到值。如果我像开始->程序-> excel那样打开excel,并且在excel中我直接给我正确的功能值。如果我在C#中自动执行excel并从Microsoft.Office.Interop.Excel中打开excel并应用了该功能,我就会报错

您可以使用一些工具:

XLL Plus
XLL主机


C#的 MSDN Use XLL上也提出了问题,这是答案:

如果它是一个COM项目,则可以通过“添加引用”窗口中的“ COM”选项卡添加它。

如果您需要从dll创建.NET程序集,则可以尝试使用类型库导入工具围绕dll创建包装器:

tlbimp.exe xll.dll /out:xllnet.dll

如果对象不支持COM,而仅支持本地调用,则需要使用DllImport属性平台调用方法。 有关更多信息,请参见平台调用教程。


我给出了所有3条建议,但没有任何运气。 鉴于XLL工具的作者, Excel-DNA建议使用该工具,我怀疑在Winform / WPF /控制台或Web应用程序中使用XLL并不容易: https : //stackoverflow.com/a/2865023/495455

您可能将无法直接调用该函数,因为XLL希望驱动Excel接口。 您必须进行一些严重的伪造。

不过,通过Excel进行自动化即可。

xll只是一个dll。 如果知道要调用的函数的签名,则可以像调用其他任何函数一样调用它。 如果您不知道签名,但可以将加载项加载到Excel中,则可以使用一种方法让Excel告诉您签名。

自动化仅在运行Excel时有效。 一旦您知道签名,就不需要这样做了。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM