关于“未在本地计算机上注册“microsoft.ACE.oledb.12.0”提供程序”解决办法

最近我编写一个程序使用到从本地EXCEL中将信息调入DataGridView中,涉及部分代码如下:

/// <summary>
        /// 从Excel表中导入订单信息
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void InputExcelInFor_Click(object sender, EventArgs e)
        {
            try
            {
                excelPath = @"E:/导入订单信息.xlsx";// 将信息固定在共享盘E盘中,以便将文件直接下载到该盘中
                string  FileType = System.IO.Path.GetExtension(excelPath);
                string sqlCon;
                if (FileType == ".xls")
                {
                  qlCon = @"Provider = Microsoft.Jet.OLEDB.4.0 ; Data Source = '" + excelPath + "';Extended Properties=Excel 8.0";
                }// 旧版Excel
                 else
                {
                   sqlCon = @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + excelPath + ";Extended Properties='Excel 12.0;HDR=YES;IEMX=1'";
                 }//2007版本
                 string ExcelStr = "select * from [Sheet1$]";
                 showExcelContent(sqlCon, ExcelStr);
            }
            catch(Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }

程序引用的也添加了 Microsoft Excel 12.0 Object Library 1.6版, 而调试的时候显示:“未在本地计算机上注册“microsoft.ACE.oledb.12.0”提供程序”。后来经过查询知道是因为AccessDatabaseEngine的版本不对,我的电脑系统是64位的,而安装的AccessDatabaseEngine 2007是32位的。因此我现卸载掉AccessDatabaseEngine 2007(32位),然后在网站上下载ccessDatabaseEngine 2010 X64并安装,再调试就OK了。

链接:https://pan.baidu.com/s/1ylgGh9dXco6BFHljGR1AQA
提取码:tbvg

如果有需要的可以从上面的网盘中下载,希望可以帮助到你。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值