0

我正在为需要使用 OleDbConnection 从 xlsx 电子表格读取数据的应用程序在 Visual Studio 2010 中创建安装程序(连接字符串看起来像"Provider=Microsoft.Ace.OLEDB.12.0;Data Source='filename';Mode=ReadWrite;Extended Properties='Excel 12.0';HDR='Yes'";

在我的机器上,我一直在从这个 Microsoft 网站安装“2007 Office System 驱动程序:数据连接组件” 。

在 Visual Studio 中,Installer->Properties->Prerequisites 中的可用先决条件列表不包括“2007 Office System Driver: Data Connectivity Components”,但它确实包括“Microsoft Office 2007 Primary Interop Assemblies”(也可在此获得微软网站)。

我的问题是:将“Microsoft Office 2007 PIA”列为先决条件是否允许我的 OleDbConnection 为尚未安装“2007 Office System 驱动程序:数据连接组件”的人工作?

4

1 回答 1

2

否。您正在通过 ADO.Net 查询一个 excel 文件,并且需要随附的数据访问驱动程序。为此,您可以将 Microsoft Access Database Engine Redistributable 作为先决条件嵌入到您的安装程序中

2007 PIA 将允许您通过 COM 互操作创建和自动化一个 excel 实例,它更强大(例如,您获得公式单元格更新)但比 Excel 的 OLEDB 界面慢得多。

于 2013-04-09T21:11:08.730 回答