Excel COM加载项DLL - 我可以直接从C#使用吗?

时间:2012-01-17 17:02:58

标签: c# excel dll com

如果答案显而易见,请原谅问题。我当然不是COM专家。

所以我有两个DLL通常用作Excel的加载项(在以编程方式打开Excel后直接加载)。我认为他们是COM。如何判断它们是否是非托管C ++ DLL?

我是否可以在C#项目中用作引用并直接调用方法而不是尝试通过Excel?这样做有什么诀窍吗?这是使用这些方法的最佳方式吗?

性能对我来说是一件大事,尝试通过Excel调用DLL代码非常痛苦。我不确定Excel是不是罪犯,但显然消除尽可能多的中间人接触是理想的。

1 个答案:

答案 0 :(得分:1)

我建议先找出它们确实是COM DLL。您可以使用depends .exe来查看DLL是否导出了一些预期的COM函数:DllGetClassObjectDllCanUnloadNow是很好的指标。如果是这样,您可以使用Visual Studio将DLL直接导入项目。我的直觉告诉我,这种方法取决于支持OLE自动化的COM对象,所以你的里程可能会有所不同。

否则你可能只有一个普通的旧DLL。再次,找出导出的函数,并使用p/invoke获取有关如何正确签名的指导。