我正在Visual Studio 2010中为需要使用OleDbConnection从xlsx电子表格读取数据的应用程序创建安装程序(连接字符串看起来像"Provider=Microsoft.Ace.OLEDB.12.0;Data Source='filename';Mode=ReadWrite;Extended Properties='Excel 12.0';HDR='Yes'";
在我的计算机上,我一直在安装this Microsoft website的“2007 Office System驱动程序:数据连接组件”。
在Visual Studio中,Installer-> Properties->先决条件中的可用先决条件列表不包括“2007 Office System驱动程序:数据连接组件”,但它包含“Microsoft Office 2007主互操作程序集” (也可在this Microsoft website获得。)
我的问题是:将“Microsoft Office 2007 PIA”列为先决条件,允许我的OleDbConnection适用于尚未安装“2007 Office System Driver:Data Connectivity Components”的人吗?
答案 0 :(得分:2)
没有。您正在通过ADO.Net查询excel文件,并且需要提供数据访问驱动程序。要做到这一点,你可以embed Microsoft Access Database Engine Redistributable into your setup program as a prerequisite。
2007 PIA允许您通过COM互操作创建和自动化excel实例,它更强大(例如,您获得公式单元格更新)但比Excel的OLEDB界面慢很多。