首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >通过Office Automation支持不同的Office版本

通过Office Automation支持不同的Office版本
EN

Stack Overflow用户
提问于 2011-06-22 04:06:19
回答 3查看 5.9K关注 0票数 14

我们创建了一个使用Office 2007 (Excel2007)从Excel工作表中读取数据的应用程序。然而。我注意到,当我想要在安装了Office2003的系统上部署应用程序时,它会崩溃,因为此版本的office需要引用其他PIA(和其他dll)。

我是否需要编译不同版本的应用程序才能支持不同版本的Office,或者是否有更好的解决方案来解决此问题?

我使用的是Visual Studio2010 (C#)和.Net 4.0平台。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2011-06-22 04:09:05

由于您使用的是PIA4,您可以使用“嵌入式”PIA(也称为"No .NET“)。更改Office引用上的选项,使"Embed Interop Types“为True。

只要你只使用在你部署的机器上支持的Office功能,你就应该没问题。

这还意味着:-您不必担心PIA本身不存在于目标计算机上--在原始COM接口中属于VARIANT类型的任何方法或属性现在都可以在代码中使用dynamic表示,这可以使您的工作变得更简单

票数 22
EN

Stack Overflow用户

发布于 2011-06-22 04:12:12

根据您是否有任何其他要求(即从excel中读取数据),您可以使用OLEDB驱动程序连接到excel文件并以SQL方式对其进行查询。

示例:http://codehill.com/2009/01/reading-excel-2003-and-2007-files-using-oledb/

票数 1
EN

Stack Overflow用户

发布于 2011-06-22 04:08:49

您可以参考多个office版本的PIA,并在运行时确定从哪个版本来路由您的呼叫。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6431348

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档