2013-04-09 76 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

相關問題