以编程方式检索Excel库的版本

时间:2009-08-31 11:45:37

标签: c# excel

有没有办法以编程方式检索与C#一起使用的Excel Interop库的版本?

我知道我可能会在注册表中查找已安装的Microsoft Office实例,但我很好奇Excel库是否包含此信息。

我知道当您引用库时,此信息包含在Visual Studio中,但我无法在运行时看到该信息。

我问这个是因为它在您保存工作簿时指示文件扩展名,如果您使用“.xls”保存2007工作簿,则2007抱怨扩展名不正确。

3 个答案:

答案 0 :(得分:7)

答案 1 :(得分:2)

我认为Windows注册表在这方面是一个很好的信息来源。 识别相关键并在运行时获取它们的值。

这段代码可能很有启发性:

Getting the office version

答案 2 :(得分:0)

试试这个(来自ExcelDna的源代码):

将此代码放在类声明中的某处:

[DllImport("XLCALL32.DLL")]
public static extern int XLCallVer();

在您需要的地方调用此功能:

int version = XLCallVer() / 256;

或者,如果您使用ExcelDna,您可以调用directry:

double version = ExcelDnaUtil.ExcelVersion;