4

我正在尝试将 Excel 文件中的数据读取到我的 Windows 应用程序中。

连接字符串:

provider = Microsoft.Jet.OLEDB.4.0; Data Source = "Excel File"; 
Extended Properties =    \"Excel 8.0; HDR = Yes; ImportMixedTypes = Text;
Imex = 1;\" 

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

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

provider = Microsoft.ACE.OLEDB.12.0; Data Source = "Excel file"; 
Extended Properties = "Excel 12.0; HDR = Yes; Imex = 1;

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

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

谢谢。

4

2 回答 2

5

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

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

在此处从 Microsoft 获取:http: //www.microsoft.com/en-us/download/details.aspx?id=13255

于 2012-06-12T21:32:04.727 回答
0

如果您可以使用第三方库,那么有一个非常不错的项目可以使用 Linq 来访问 excel 文件。看看:http ://code.google.com/p/linqtoexcel/

于 2012-06-12T21:33:16.400 回答