C#.NET Excel和OLEDB连接字符串

Rus*_*hah 4 c#

我正在尝试将Excel文件中的数据读入我的Windows应用程序.

连接字符串:

provider = Microsoft.Jet.OLEDB.4.0; Data Source = "Excel File"; 
Extended Properties =    \"Excel 8.0; HDR = Yes; ImportMixedTypes = Text;
Imex = 1;\" 
Run Code Online (Sandbox Code Playgroud)

使用此连接字符串,即使Microsoft Office - Excel未安装到计算机上,我也可以从Excel文件中读取数据.但有些如何,我的程序与此连接字符串不兼容.

我现在使用的连接字符串是

provider = Microsoft.ACE.OLEDB.12.0; Data Source = "Excel file"; 
Extended Properties = "Excel 12.0; HDR = Yes; Imex = 1;
Run Code Online (Sandbox Code Playgroud)

此连接字符串与我的程序兼容,但它仅适用于具有Microsoft Office - Excel安装的计算机.

任何人都可以建议我在哪里犯错误.

谢谢.

dod*_*ron 5

Microsoft在2003年之后删除了所有版本的Windows中的JET引擎,包括64位Windows 2003. ACE是现代替代方案,但它不随Windows的基本安装一起分发.

要使用ACE,您需要将免费的ACE可再发行组件从Microsoft部署到未安装Office的所有目标计算机.然后,您可以使用您在其中任何一个上列出的第二个连接字符串.

从这里获取它:http: //www.microsoft.com/en-us/download/details.aspx?id = 13255