Microsoft.Jet.OLEDB.4.0好像不支持Excel,你可以用DAO来访问
首先需要引用Microsoft DAO 3.6 Object Library
Dim DB As DAO.Database
Dim RS As DAO.Recordset
Set DB = OpenDatabase("d:\数据.xls", False, False, "Excel 8.0;")
Set RS = DB.OpenRecordset("文件$")
Set DataGrid1.DataSource = RS
找不到可插入的ISAM的好像就是不支持这种数据格式,
--抱歉,刚看了一下,Datagrid只支持ado的datasource,你如果非要用控件绑定的话,你可以Miscrosoft FlexGrid,它可以绑定dao的datasource
如果你只是为了显示,我建议你可以不用绑定的方式,在Form上放一个ListView控件,然后在ListView属性中把查看方式改成lvReport,增加列首(标题)和Excel的列一一对应。代码如下
Dim DB As DAO.Database
Dim RS As DAO.Recordset
Set DB = OpenDatabase("d:\数据.xls", False, False, "Excel 8.0;")
Set RS = DB.OpenRecordset("文件$")
Dim li As ListItem
ListView1.ListItems.Clear
Do Until RS.EOF
Set li = ListView1.ListItems.Add(, , (RS(0))
For i = 1 To RS.Fields.Count - 1
li.SubItems(i) = RS(i)
Next
RS.MoveNext
Loop