if open1.Execute then
       begin
       try
       adoq1.sql.text:= 'select *  from OPENDATASOURCE(''MICROSOFT.JET.OLEDB.4.0'',''Excel 5.0;HDR=yes;imex=1;DATABASE='+open1.FileName+''',sheet1$)';
       showmessage(adoq1.sql.text);
       adoq1.open;
       except
       showmessage('打开文件失败!');
       exit;
       end;
       end;提示"OLE DB错误跟踪[OLE/DB PROVIDER 'MICROSOFT.JET.OLEDB.4.0"

解决方案 »

  1.   

    打开connectionstring属性对话框,单击build…,出现数据连接属性对话框,选择Microsoft Jet 4.0 OLE DB Provider。单击所有页,选择Extended Properties,选中后,单击编辑值,在属性值编辑框中输入 excel 8.0,单击确定,Extended Properties的值已经改变,单击连接页,在选择或输入数据库名称编辑框后面单击“...”按钮,选择需要导入的Excel文件,同样选好后测试一下连接。成功后单击确定按钮退出连接,然后单击OK按钮完成连接。
      

  2.   

    const
     connstr = 'Provider=Microsoft.Jet.OLEDB.4.0;Data Source=%s;Extended Properties=Excel 8.0;Persist Security Info=False';
     begin
      if OpenDialog1.Execute then
      begin
        edit1.Text := OpenDialog1.FileName;
        edit2.Text:=ss;
        ADOConnection1.Close;
        ADOConnection1.ConnectionString := Format(connstr, [OpenDialog1.FileName]);
        ADOConnection1.Open;
      end;
    这样试试,能够打开多张excel的
      

  3.   

    至于打开工作表  就是select * from [sheet1$]