Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/29.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Excel COM加载项DLL';s-我可以直接从C#使用吗?_C#_Excel_Dll_Com - Fatal编程技术网

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

Excel COM加载项DLL';s-我可以直接从C#使用吗?,c#,excel,dll,com,C#,Excel,Dll,Com,如果答案显而易见,请原谅这个问题。我当然不是COM专家 因此,我有两个DLL,它们通常用作Excel的外接程序(以编程方式打开Excel后直接加载)。我想他们是COM。如何判断它们是非托管C++ DLL?< /P> 我是否可以在C#项目中作为参考,直接调用这些方法,而不是尝试使用Excel?这样做有什么诀窍吗?这是利用这些方法的最佳方式吗 性能对我来说是一件大事,试图通过Excel调用DLL代码是非常痛苦的。我不确定Excel是否是罪魁祸首,但显然,尽可能多地消除中间人接触是理想的。我建议先查明

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

因此,我有两个DLL,它们通常用作Excel的外接程序(以编程方式打开Excel后直接加载)。我想他们是COM。如何判断它们是非托管C++ DLL?< /P> 我是否可以在C#项目中作为参考,直接调用这些方法,而不是尝试使用Excel?这样做有什么诀窍吗?这是利用这些方法的最佳方式吗


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

我建议先查明他们是否确实是COM DLL。您可以使用来查看DLL是否导出了一些预期的COM函数:和是良好的指示器。如果是这样,您可以使用直接将DLL导入到项目中。我的直觉告诉我,这种方法取决于支持OLE自动化的COM对象,因此您的里程可能会有所不同


否则,您可能只有一个普通的旧DLL。再次,找出导出的函数,并用于如何获得签名的正确性。

这些是我公司的专有DLL,它们可能是或可能不是非托管C++ DLL的,不能说明。基于一些谷歌搜索,如果没有商业工具,几乎不可能对DLL代码的调用进行反向工程。。。