Dim mycon As New ADODB.Connection
 Dim myrs As New ADODB.Recordset
mycon.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source='" & filenameA & "'; Extended Properties=""Excel 8.0;"""
            mycon.CursorLocation = adUseClient
            mycon.Open
            myrs.Open "select * from [" & tablenameA & "$]", mycon, 3, 3
            Set DataGrid2.DataSource = myrs
            DataGrid2.Refresh
            Set myrs = Nothing
            Set mycon = Nothing错误:外部表不是预期的格式
*************************************************
下面的代码就可以
可是这样我怎么才能把数据让datagrid显示呢
Set DataGrid2.DataSource = myrs
            DataGrid2.Refresh
 
************************************Set xlApp = CreateObject("Excel.Application") '创建EXCEL应用类
            Set xlbook = xlApp.Workbooks.Open(filenameA) '打开EXCEL工作簿
            Set xlsheet = xlbook.Worksheets(1) '打开EXCEL工作表
            tablenameA = xlsheet.name
            xlApp.DisplayAlerts = False  '关闭EXCEL不提示保存
            xlApp.Quit '关闭EXCEL
            Set xlbook = Nothing
            Set xlsheet = Nothing
            Set xlApp = Nothing

解决方案 »

  1.   

    提示这个错误是因为你的excel表格不规范吧你可以看一下,把个别的数据剔除掉试一下
    不过一般的情况下不会出什么问题如果实在不行,就只能你一个cell一个cell的读,然后拼一个recordset出来了
      

  2.   

    如果用ADO打开EXCEL表,要求第一行是用来做字段的,不能重复的
      

  3.   

    就是excel的问题 我把excel打开 保存一下就没问题了 可现在不知道是什么原因造成这样的
      

  4.   

    既然你这么说就是因为你的excel格式不规范了
    可能你的excel文件是从别的系统上拿过来直接用的吧
    这样可能就会造成类似的问题
    如果excel是从你自己的系统上生成的一般就不会有这样的问题这个应该算那个导出excel文件的系统的的bug吧