如何在未安装相应Office版本的情况下获取特定Excel对象库

时间:2010-04-29 16:40:28

标签: c# ms-office

我正在开发一个Excel自动化应用程序,可以读取和写入Excel电子表格。我在我的机器上安装了Office 2007。因此,我可以引用Excel 12.0对象库和Excel 5.0对象库。我不想使用Excel 5.0,因为它确实很旧并且记录不完整。因此我引用了Excel 12.0。

但是,目标计算机安装了Office 2003,因此只有Excel 11.0。因此,当我编译程序时,它会在目标机器上崩溃,因为引用的库是不同的。

我想知道有没有办法在不安装Office 03的情况下获得Excel 11.0?我试图从msdn和microsoft支持页面找到答案,但找不到任何东西?这很奇怪,因为未来开发人员的Office版本会比客户端更新吗?

4 个答案:

答案 0 :(得分:2)

查看我的开源项目MS Office Wrapper for .NET。 Office应用程序对象的实例是通过“CreateObject”方法动态创建的,然后使用后期绑定功能,因此您不需要对任何版本的MS Office库进行任何“强引用”。

您可以使用C#,VB.NET,J#等...

源代码也可用。

答案 1 :(得分:2)

你真的不必那么强大。只包括最新的Office PIA(2007)。它向后兼容Office 2003。

请阅读Excel product team blog以及有关兼容性here的详细解答。

我们将2007 PIA纳入发行版,并且在使用之前的(2003)Excel版本时没有任何问题。

这里提到的MS Office Wrapper for .NET是一个非常好的选择。

答案 2 :(得分:1)

我对SpreadsheetGear感到非常满意。该组件允许您读取和写入Excel文件。我用它来报告,客户端机器只有Excel Viewer(免费)来读取文件并打印它们。

我正在使用Excel Viewer 2003,因为2007版本有一个打印错误(在打印时它会打开文件对话框)

答案 3 :(得分:0)

您需要为所需的Office版本下载并安装Office Interop Assemblies

对于Office 2003,请从here下载 对于Office 2007,请从here

下载