从x86和x64读取Excel文件

我的本地电脑安装了Windows7 64位和Microsoft Excel 2010但是我的客户的大部分电脑都是XP Professional Service Pack 3和Excel 2003

我得到这个连接string的Excel文件的导入数据

Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\MyExcel.xls;Extended Properties="Excel 8.0;HDR=Yes;IMEX=1"; 

但是这引发了一个错误

 The 'Microsoft.Jet.OLEDB.4.0' provider is not registered on the local machine. 

我希望我的应用程序可以读取x86和x64架构上的Excel文件。 我怎样才能在没有在PC上安装额外的Excel驱动程序编程处理?

我正在考虑使用不同的连接string来导入基于CPU archtiecture的Excel文件。

有没有更好的主意?

确保在开发系统上安装了支持x86和x64的Jet驱动程序。

Microsoft.Jet.OLEDB.4.0“提供程序未在本地计算机上注册

这是因为Visual Studio中的编译configuration与安装在系统上的ACE版本不匹配。 ( 参考:如何使用ACE OLEDB数据提供者读取或写入excel文件?

您可以通过确保两者相同来解决此问题。 如果安装了64位ACE或使用32位ACE,请使用x64位编译您的应用程序。