zoukankan      html  css  js  c++  java
  • win10:未在本地计算机上注册“microsoft.ACE.oledb.12.0”提供程序

    说明:C#以 oledb的方式读取excel时,xls格式的文件读取正常,但是xlsx格式的提示错误:未在本地计算机上注册“microsoft.ACE.oledb.12.0”提供程序

    解决办法:

    1、下载对应组件安装:https://www.microsoft.com/zh-CN/download/details.aspx?id=13255

    注意:要选择AccessDatabaseEngine.exe,而不是AccessDatabaseEngine64.exe,否则还会提示错误!!!

    2、控制面板-管理工具中打开IIS(如果没有,在控制面板-程序与功能-启用或关闭windows功能-选择IIS功能),设置如下

    重新启动

    3、修改连接字符串

    支持xls:strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + path + ";Extended Properties='Excel 8.0;HDR=False;IMEX=1'";

    支持xls和xlsx:strConn = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + path + ";Extended Properties="Excel 8.0;HDR=YES"";

    public static DataTable ReadExcelToTable(string path)
            {
                try
                {
                    string strConn;
                    // strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + path + ";Extended Properties='Excel 8.0;HDR=False;IMEX=1'";
                    strConn = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + path + ";Extended Properties="Excel 8.0;HDR=YES"";
                    OleDbConnection OleConn = new OleDbConnection(strConn);
                    OleConn.Open();
                    String sql = "SELECT * FROM  [Sheet1$]";//可是更改Sheet名称,比如sheet2,等等
     
                    OleDbDataAdapter OleDaExcel = new OleDbDataAdapter(sql, OleConn);
                    DataSet OleDsExcle = new DataSet();
                    OleDaExcel.Fill(OleDsExcle, "Sheet1");
                    OleConn.Close();
     
                    return OleDsExcle.Tables["Sheet1"];
                }
                catch (Exception err)
                {
                    MessageBox.Show("数据绑定Excel失败!失败原因:" + err.Message, "提示信息",
                        MessageBoxButtons.OK, MessageBoxIcon.Information);
                    return null;
                }
  • 相关阅读:
    2.2 范式和反范式
    1.7 关系数据库设计理论
    2.1 选择优化的数据类型
    1.6 间隙锁(next-key locking)
    1.5 MySQL的存储引擎
    1.4 多版本并发控制
    1.3 事物和并发一致性问题
    1.2 并发控制
    1.1 MySQL逻辑架构
    php自定义函数及内部函数----数组处理函数
  • 原文地址:https://www.cnblogs.com/codinghard/p/11051174.html
Copyright © 2011-2022 走看看