因需要通过 ADO 对像从 Excel 表格中获取数据,我以前没对 Excel 使用过 ADO 获取数据,所以从 CSDN 上粘了一些代码运行,如下:Dim con As New ADODB.Connection
Dim rst As New ADODB.Recordsetcon.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Persist Security Info=false;Data Source=e.xls;Extended Properties='Excel 8.0;HDR=Yes'"
con.Open 
rst.Open "select * from [Sheet1$]", con, adOpenKeyset, adLockOptimistic连接已成功打开,但程序执行到 rst.Open 时出错,错误就是 JET 引擎找不到“Sheet1$”表。Excel 表名是 Excel 软件下面标签的名字吧(就是默认为“Sheet1、Sheet2、Sheet3”标签的工作簿名称吧?),我尝试换 N 个名称都不行(包括去掉“$”号),另外我还把 ADO 2.5 - 2.8 版本也都试了一遍也是报同样的错误。到底怎么回事?请大家帮忙。
现在急着用,大家们给个可以已调试好的代码救救急,谢谢!

解决方案 »

  1.   

    con.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Persist Security Info=false;Data Source=" _
     & App.Path & "\test.xls;Extended Properties='Excel 8.0;HDR=Yes;IMEX=1'"
    con.Open
    rst.Open "select * from [PLC$]", con, adOpenKeyset, adLockOptimistic'其中PLC是一个Sheet的名称
      

  2.   

    http://www.mndsoft.com  这里看看,或者在 源码搜索 栏中输入 "excel"
      

  3.   

    连接字符串加一个 “IMEX=1” 就行了,谢谢大家。