通过避免“Microsoft .Jet.OLEDB.4.0”在C#中读取excel文件

时间:2012-12-06 14:40:34

标签: wpf jet

我一直在使用该方法将excel数据导入我的WPF应用程序,如

中所述

Import Excel file into Microsoft SQL Server using C#Reading Excel files from C#

它在调试模式下运行良好,但在发布模式下它会死掉!

问题是我的客户端已经转移到基于x64的计算机并且应用程序工作正常但只是因为没有更多的“Microsoft .Jet.OLEDB.4.0”驱动程序可用于x64这段代码x64机器了。

我不想使用办公室互操作或为用户提供在计算机上安装办公室的任何依赖。

那么有什么建议可以避免这种情况吗?

3 个答案:

答案 0 :(得分:2)

尝试使用Microsoft.Ace.OLEDB.12.0驱动程序

当我们开始升级所有计算机时,使用Microsoft.Jet.OLEDB.4.0的所有查询都停止了工作,我不得不升级它们以使用Microsoft.Ace.OLEDB.12.0。除了更改连接字符串以使其工作之外,您不需要做任何其他事情。

答案 1 :(得分:0)

您也可以尝试使用OpenXML SDK 2.0

以下是一篇解释使用SDK阅读excel文件的文章:http://debugmode.net/2011/10/08/reading-excel-file-in-a-collection-using-open-xml-sdk-2-0/

入门指南和最佳做法:http://blogs.msdn.com/b/erikaehrli/archive/2009/05/14/open-xml-format-sdk-2-0-getting-started-best-practices.aspx

希望这有帮助! ;)

答案 2 :(得分:0)

我正在使用Aspose.cells库。它非常好用,非常容易上班。你可以尝试一下! http://www.aspose.com/.net/excel-component.aspx