2013-04-09 77 views
0

我正在Visual Studio 2010中创建一个安装程序,用于需要使用xlsx电子表格读取数据的应用程序一个OleDbConnection(连接字符串看起来像"Provider=Microsoft.Ace.OLEDB.12.0;Data Source='filename';Mode=ReadWrite;Extended Properties='Excel 12.0';HDR='Yes'";“Microsoft Office 2007主互操作程序集”与“2007 Office System驱动程序:数据连接组件”是否相同

在我的机器,我已经安装了“2007 Office系统驱动程序:数据连接组件”。从this Microsoft website

在Visual Studio的安装程序提供先决条件列表 - >属性 - >先决条件不包括“2007 Office System Driver:数据连接组件”,但它确实包含“Micros Office 2007主互操作程序集“(也可从this Microsoft website获取)。

我的问题是:将“Microsoft Office 2007 PIA”列为必备条件,允许我的OleDbConnection适用于尚未安装“2007 Office System Driver:Data Connectivity Components”的人员?

回答

2

不可以。您正在通过ADO.Net查询excel文件并需要提供数据访问驱动程序。要做到这一点,你可以embed Microsoft Access Database Engine Redistributable into your setup program as a prerequisite

2007 PIA将允许您创建并自动通过COM互操作,这是更为强大的Excel实例(例如,你得到公式单元格更新),但比Excel的OLEDB接口慢了许多。

+0

Drat!任何想法是否有简单的方法列出适当的ADO.NET数据访问驱动程序作为先决条件,以便安装程序在目标系统上找不到时安装它? – Wesley 2013-04-09 23:48:58

相关问题