下午写个小程序,读取Excel文件,出现“找不到可安装的ISAM“,没有任何经验解决,开帖请教:
附上代码:
 public OperateExcele(string filePath)
        {
            connStr ="provider=Microsoft.Jet.OLEDB.4.0;datasource="+ filePath+";ExtendedProperties=Excel8.0;PersistSecurityInfo=False";
        }        public DataTable ExcelTable(string seleceSQL)
        {
            try
            {
                connection = new OleDbConnection(connStr);
                da = new OleDbDataAdapter(seleceSQL, connection);                selectSet = new DataSet();
                da.Fill(selectSet);                return selectSet.Tables[0];
            }
            catch (OleDbException ex)
            {
                throw new Exception(connStr + Environment.NewLine + ex.ToString());
            }
            finally
            {
                connection.Dispose();
                da.Dispose();
            }
        }
实际链接Excel文件的链接字符处于为:
provider=Microsoft.Jet.OLEDB.4.0;datasource=D:\truck_dock_20060802.xls;ExtendedProperties=Excel8.0;PersistSecurityInfo=False

解决方案 »

  1.   

    datasource 应该为: data source,注意空格.
      

  2.   

    connStr ="provider=Microsoft.Jet.OLEDB.4.0;datasource="+ filePath+";ExtendedProperties=Excel8.0;PersistSecurityInfo=False";
    改为
                connStr ="provider=Microsoft.Jet.OLEDB.4.0;datasource="+ filePath+";ExtendedProperties=Excel8.0;PersistSecurityInfo=False;/"HDR=YES;IMEX=1/"";
      

  3.   

    把 hdr 以及  imex的选项 都去掉               我得是这样的
      

  4.   

    "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\MyExcel.xls;Extended Properties=""Excel 8.0;HDR=Yes;IMEX=1"""
      

  5.   

    转义字符的问题:
    connStr ="provider=Microsoft.Jet.OLEDB.4.0;datasource="+ filePath+";ExtendedProperties=\"Excel8.0\";PersistSecurityInfo=False";
      

  6.   

    配置了dcomcnfg吗?要给execel读取的权限
      

  7.   

    估计是你的MSDC的版本问题,去下一个最新的版本。
      

  8.   

    ADO.NET 如何读取 Excel (上) 
    http://www.cnblogs.com/Jinglecat/archive/2006/08/15/477472.html
      

  9.   

    exel是没装全吧,或者重装一下excel