Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/docker/9.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
C# C中的COM互操作问题#_C#_Com Interop - Fatal编程技术网

C# C中的COM互操作问题#

C# C中的COM互操作问题#,c#,com-interop,C#,Com Interop,嗨,我有一个应用程序,其中一个作业将从Excel文件中提取所有记录,为此,我使用COM互操作 所以这个很好用,它做了我真正想要的。问题是,如果我们在项目中添加对库版本14.0(Office 2010)的引用,但如果我们选择我们的应用程序,并且如果我们在任何具有不同版本Office 2010的PC上运行它,他将不会识别库,因为它有不同的版本(例如Office 2007-Versionan 12.0) 那么有没有办法避免这种情况 提前谢谢 我认为如果您使用后期绑定并使用版本独立的progid。我认为

嗨,我有一个应用程序,其中一个作业将从Excel文件中提取所有记录,为此,我使用COM互操作

所以这个很好用,它做了我真正想要的。问题是,如果我们在项目中添加对库版本14.0(Office 2010)的引用,但如果我们选择我们的应用程序,并且如果我们在任何具有不同版本Office 2010的PC上运行它,他将不会识别库,因为它有不同的版本(例如Office 2007-Versionan 12.0)

那么有没有办法避免这种情况


提前谢谢

我认为如果您使用后期绑定并使用版本独立的progid。

我认为如果您使用后期绑定并使用版本独立的progid。

如果您只需要使用第三方完全管理的库(如“电子表格齿轮”或“GemBox”)在excel i建议之外读取excel文件,那么使用它们会更快、更容易。(有开源的xls解析器和开放xml xlsx格式的库,但我没有测试它们)


如果您需要在excel内部工作,我只知道提供独立于版本的office interop DLL的“Add-in Express”。

如果您只需要使用第三方完全管理的库(如“电子表格齿轮”或“GemBox”)在excel I advice外部读取excel文件,则使用这些库更快、更方便。(有开源的xls解析器和开放xml xlsx格式的库,但我没有测试它们)


如果您需要在excel内部工作,我只知道提供独立于版本的office interop DLL的“Add-in Express”。

最好的方法是针对您需要获得支持的最旧office版本进行编程。但实际上,您可以使用任何互操作版本来支持所需的任意多个Office版本,请参见

最好的方法是针对需要支持的最旧Office版本进行编程。但实际上,您可以使用任何互操作版本来支持所需的任意多个Office版本,请参见

如果这是一个选项,请使用open xml sdk 2.0。这是免费且易于使用的。如果这是一个选项,请使用OpenXMLSDK2.0。这是免费的,易于使用。