string conStr=@"Provider=Microsoft.Jet.OLEDB.4.0 ;Extended Properties=Excel 8.0;Data Source =C:\aa\1.xls";
 var con = new System.Data.OleDb.OleDbConnection(conStr);
  if (con.State != ConnectionState.Closed)
  {
  con.Close();
  }
  con.Open();
在32位下是能成功打开的,,
但是
在64位下操作系统中就会报错,"未在本地计算机上注册“Microsoft.Jet.OLEDB.4.0”提供程序"
求  在64位下面连接字符,,

解决方案 »

  1.   

    64位下没有安装Microsoft.Jet.OLEDB.4.0驱动,你装office了吗,或者到网上下一个64位的装上
      

  2.   

    把你的程序从Any CPU改成x86(项目属性-目标平台)。
      

  3.   

    电脑上装了office了啊!另外出这种没有其他办法可已么!
     1生成->配置管理器->平台->点击Any Cpu选项卡->新建->新建平台->X86
    2.在对应的 IIS 应用程序池中,“设置应用程序池默认属性”/“常规”/"启用32位应用程序",设置为 true。除了这2种方法没有其他方法了么!
      

  4.   

    http://blog.csdn.net/woaizhoulichao1/article/details/6902339
      

  5.   

    Microsoft.Jet.OLEDB.4.0只有32位的
    IIS上面应用池中启用32位程序
    或者你可以使用Microsoft.ACE.OLEDB.12.0,这个支持64位
      

  6.   

    参照
    http://blog.sina.com.cn/s/blog_557194c30100wvit.html
      

  7.   

    iis 6.0 里面找不到在对应的 IIS 应用程序池中,“设置应用程序池默认属性”/“常规”/"启用32位应用程序",设置为 true。
      

  8.   

    64位下没有安装Microsoft.Jet.OLEDB.4.0驱动,你装office了吗,或者到网上下一个64位的装上
      

  9.   

    (64位操作系统)未在本地计算机上注册“Microsoft.Jet.OLEDB.4.0”提供程序
     
    解决方案如下:
     
    1、执行cscript.exe %SYSTEMDRIVE%inetpubadminscriptsadsutil.vbs SET W3SVC/AppPools/Enable32bitAppOnWin64 1
     
    2、执行%SYSTEMROOT%Microsoft.NETFrameworkv2.0.50727aspnet_regiis.exe -i
     
    3、web服务扩展ASP.NET v2.0.50727 (32-bit) 修改为允许状态
      

  10.   

    本帖最后由 net_lover 于 2012-04-17 13:21:07 编辑