51Testing软件测试论坛

标题: QTP用ADO连接EXCEL如何获取该Excel数据的count [打印本页]

作者: kennychm    时间: 2013-8-15 16:09
标题: QTP用ADO连接EXCEL如何获取该Excel数据的count
sqlConnection="DSN=Excel Files;DBQ=D:\1.xlsx" ------  (excel有5条数据)
sqlCommand="Select * From [Sheet1$]"     
Set oExcel=CreateObject("ADODB.Connection")
oExcel.Open sqlConnection
Set oEData=oExcel.Execute(sqlCommand)
想得到Excel的数据记录行数,为什么用 oEData.RecordCount 得出的是0,

请有经验的老大请教一下!谢谢!
作者: 黑羽祭    时间: 2013-8-16 09:09
又是个用ADO读Excel的。
有谁是这么用的,出来回答一下吧~
作者: feiyunkai    时间: 2013-8-19 15:58
本帖最后由 feiyunkai 于 2013-8-19 16:03 编辑

'连接字符串
sqlConnection="DSN=Excel Files;DBQ=D:\1.xlsx"
'查询语句
sqlCommand="Select * From [Sheet1$]"  
'创建ADO对象   
Set oExcel=CreateObject("ADODB.Connection")
'打开ADO连接
oExcel.Open sqlConnection
'创建记录集
Set oEData=CreateObject("ADODB.Recordset")
'打开记录集
oEData.Open sqlCommand,oExcel,3,3
'获取记录集中记录条数
RowCount=oEData.RecordCount
msgbox RowCount
'关闭记录集
oEData.close
'关闭ADO连接
oExcel.close
'释放对象
set oEData=nothing
set oExcel=nothing
作者: feiyunkai    时间: 2013-8-19 15:59
标题: 万恶的审核
本帖最后由 feiyunkai 于 2013-8-19 17:10 编辑

回复 1# kennychm

filepath="D:\1.xlsx"
'连接字符串
If ucase(right(filepath,4))=".XLS" Then
    sqlConnection= "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & filepath & ";Extended Properties=Excel 8.0"
else
    sqlConnection= "Provider=Microsoft.Ace.OLEDB.12.0;Data Source="& filepath &";Extended Properties=Excel 12.0"  
End If
'查询语句
sqlCommand="Select * From [Sheet1$]"  
'创建ADO对象   
Set oExcel=CreateObject("ADODB.Connection")
'打开ADO连接
oExcel.Open sqlConnection
'创建记录集
Set oEData=CreateObject("ADODB.Recordset")
'打开记录集
oEData.Open sqlCommand,oExcel,3,3
'获取记录集中记录条数
RowCount=oEData.RecordCount
msgbox RowCount
'关闭记录集
oEData.close
'关闭ADO连接
oExcel.close
'释放对象
set oEData=nothing
set oExcel=nothing
作者: kennychm    时间: 2013-8-19 16:55
回复 3# feiyunkai

谢谢这位大哥的指点!




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2