(1)-读取EXCEL数据语句一般是SELECT * FROM [Sheet1$],可是客户导入数据的时候工作表1可能不叫Sheet1,可能是别的名称。这种情况下怎么解决?有没有类似引用下标之类的语法?比如select * from [0] 指引用sheet1。这样的话不管你怎么改名我都可以引用的到
(2)-另外还有一个问题,"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & C1.FileName & ";Extended Properties=""Excel 8.0;HDR=Yes;IMEX=1"""
这种方式打开EXCEL表以后,有没有方法能得到工作表(Sheet)的总数?比如打开的这个EXCEL文档一共有7个Sheet,从Sheet1-Sheet7,那么怎么得到这个7?

解决方案 »

  1.   

    还有一个问题,在(2)的引用模式下,怎么去取这个Sheet的名称?有没有办法循环把这个EXCEL文档的所有Sheet的名称取出来?
      

  2.   

    (1)、获得Sheet有名称:
           ...............
          For Each xlSheet In xlBook.Worksheets
              List1.AddItem xlSheet.Name
          Next
          ................
    (2)、获得Sheet表的个数:
           xlBook.Worksheets.Count祥情请参见我下面这个(里面7楼代码):
    http://topic.csdn.net/u/20080127/16/2a102bc7-ea5d-4f5a-b962-4da424407fdf.html
      

  3.   

    我的意思是都是在(2)模式下打开EXCEL文档,去取那些Sheet名,总数,下标等等,这些是我想要求教的。
    如果是Dim mExcel As Object 'Excel.Application
    Set mExcel = CreateObject("Excel.Application")
    mExcel.Workbooks.Open (C1.FileName)
    这种模式下去取就很简单了,不过还是先谢谢 chenjl1031 。(1)问题的意思就是,一般用ADO打开EXCEL文档,取Sheet1数据用语句select * from [Sheet1$],那么在并不知道打开的EXCEL文档Sheet1名称是什么的情况下,怎么用select * from ? 这个语句来取数据呢?继续等答案...............
      

  4.   

    词不达意,我要的是ADO对象的解决办法,说的都是EXCEL对象的方法,没办法,散分