我正在开发一个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版本会比客户端更新吗?
答案 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。
下载