1、连接字符串戚尺问题
ExtendedProperties='Excel8.0HDR=NOIMEX=1'
//HDR表示要把第一行作为数据还是作为列名,作为数据用HDR=no,作为列名用HDR=yes通过Imex=1来把混合型作为文本型读取,避免null值。
上吵拍句的左右两个单引号不能少。
2、只需注册ExcelISAM即可
在“升仔羡运行”对话框中输入回车即可:Regsvr32c:\WINDOWS\system32\msexcl40.dll
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
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)