2013-05-07 72 views
2

我正在使用Microsoft.Office.Interop.Excel将数据写入Excel文件,我在我的机器上安装了Excel 2010。但我需要的程序在旧版本的Excel运行..检查Excel DLL并动态加载

程序应该检查安装在特定机器的版本和动态加载的dll,以免得到一个丢失的引用错误..

If Excel 2003 is available, use it. 

Else If a higher Excel version is available, use it 

Else show an error message since this means that Excel is not installed in the machine 

有没有办法做到这一点? 我真的很难找到一个解决方案。任何帮助,将不胜感激。 在此先感谢..

+0

我想最好的办法是**尽可能的隔离你的Excel相关的代码**,把它打包在一个DLL中(**每个支持的Excel版本**,嵌入interops)并**加载右边**根据安装的Excel版本(使用MEF **非常容易**)。 – 2013-05-07 13:11:21

+0

你不能使这个工作,Excel不只是一个你可以根据需要交换的DLL。在你的机器上安装2003并编写你的程序来使用它。它很可能会在2010年运行。 – 2013-05-07 15:37:58

+0

将检查已安装的Microsoft Excel对象库版本并将其添加为参考工作?没有其他方法可以做到这一点吗? – jaqui 2013-05-08 03:33:25

回答