51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 4823|回复: 15
打印 上一主题 下一主题

[原创] QTP使用ADO连接EXCEL后如何进行读写操作?

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2008-6-3 09:08:12 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
SQL比较简单,读写可以对表,而EXCEL怎么操作呢?

Dim conn,filename
filename="D:\test.xls" '
Set conn= createobject("ADODB.Connection")
conn.Open "rovider=Microsoft.Jet.OLEDB.4.0ersist Security Info=False;Data Source="&filename&";Extended Properties='Excel 8.0;hdr=yes'"

连接完毕后如何进行读写操作呢?
比如我要读取Sheet1的第一行第一列应该如何写?我要把数据插入到第一行第一列也应该如何写呢????
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
发表于 2008-6-3 09:13:41 | 只看该作者
网上有很多
回复 支持 反对

使用道具 举报

该用户从未签到

3#
 楼主| 发表于 2008-6-3 09:14:57 | 只看该作者
原帖由 Yzzz 于 2008-6-3 09:13 发表
网上有很多

你等于没说!!!
回复 支持 反对

使用道具 举报

该用户从未签到

4#
发表于 2008-6-3 09:19:44 | 只看该作者
以前写的一个读的例子你参考一下吧!
Public Function ReadExcel(ByVal filepath)
Dim app,book,sheet
Set app=CreateObject("Excel.Application")
Set book=app.Workbooks.Open(filepath)
Set sheet=book.Worksheets("Test")
Dim irowcount,i,MyArray
irowcount=sheet.usedrange.rows.count
For i=2 To irowcount
   MyArray = Split(sheet.cells(i,1), "=",-1,1)
   AutoCalcTest trim(MyArray(0)),trim(MyArray(1))
Next
book.Close
app.Quit
Set sheet=Nothing
Set book=Nothing
Set app=Nothing
End Function

[ 本帖最后由 小孩 于 2008-6-3 09:20 编辑 ]
回复 支持 反对

使用道具 举报

该用户从未签到

5#
 楼主| 发表于 2008-6-3 09:24:48 | 只看该作者
LZ你那个方法我也会,那个是建立一个EXCEL表的,建立对象的,我现在这个是连接的!
难道一样的么?可以使用CELLS???
回复 支持 反对

使用道具 举报

该用户从未签到

6#
发表于 2008-6-3 09:28:40 | 只看该作者
excel 不用搞的怎么麻烦吧!
回复 支持 反对

使用道具 举报

该用户从未签到

7#
 楼主| 发表于 2008-6-3 09:32:40 | 只看该作者
原帖由 小孩 于 2008-6-3 09:28 发表
excel 不用搞的怎么麻烦吧!

哪个方法好用哪个呗,其实我昨天使用的方法就是你弄的那种方法,建立对象,然后我使用OPEN的方式打开我已经建立好的EXCEL表,但是有人跟我说使用COM或者ADO连接的方法更好,那我得看看喽,最近狂学TC,这个该死的软件,不像QTP这么简单,要是跟QTP那么简单,我还需要那么多方法干吗,直接在QTP的DATATABLE中写就OK了,呵呵~~~
回复 支持 反对

使用道具 举报

该用户从未签到

8#
发表于 2008-6-3 09:53:24 | 只看该作者
TC是什么的全称是什么还没有听过介绍介绍!我怀疑我已经脱节了。
SELECT INTO 语法:
Dim strSQL As String
strSQL = "SELECT * INTO [Excel 8.0;Database=" & App.Path & _
    "\book1.xls].[Sheet1] FROM Customers"
cnSrc.Execute strSQL
SELECT INTO ...IN 语法:
strSQL = "SELECT * INTO [Sheet1] IN '' [Excel 8.0;Database=" & App.Path & _
    "\book1.xls] FROM Customers"
使用 IN 子句的替代语法:
strSQL = "SELECT * INTO [Sheet1] IN '" & App.Path & _
    "\book1.xls' 'Excel 8.0;' FROM Customers"
回复 支持 反对

使用道具 举报

该用户从未签到

9#
 楼主| 发表于 2008-6-3 10:06:21 | 只看该作者
原帖由 小孩 于 2008-6-3 09:53 发表
TC是什么的全称是什么还没有听过介绍介绍!我怀疑我已经脱节了。
SELECT INTO 语法:
Dim strSQL As String
strSQL = "SELECT * INTO [Excel 8.0;Database=" & App.Path & _
    "\book1.xls].[Sheet1] FROM Cu ...

TC,TESTCOMPLETE,也是一个测试工具,可以使用5种脚本语言(NB),就是用起来不像QTP那么简单!
回复 支持 反对

使用道具 举报

该用户从未签到

10#
发表于 2008-6-3 10:12:12 | 只看该作者
TC我也下了个,想拿来测delphi开发的软件的
可是愣是没看明白咋用!
回复 支持 反对

使用道具 举报

该用户从未签到

11#
发表于 2008-6-3 10:13:18 | 只看该作者
使用 INSERT  INTO ...IN 语法: strSQL = "INSERT INTO [Sheet1$] IN '' [Excel 8.0;Database=" & App.Path & _
    "\book1.xls] SELECT * FROM Customers"
回复 支持 反对

使用道具 举报

该用户从未签到

12#
发表于 2008-6-3 10:45:54 | 只看该作者
2楼说的没错啊。。。Google一下全是答案。。。即使是本论坛里印象中也是看到过有人贴过代码的

sqaforum中看到的最多的一句话: Please search before start a new thread
回复 支持 反对

使用道具 举报

该用户从未签到

13#
发表于 2008-6-4 15:35:24 | 只看该作者
这个before 好像是个介词,介词+动词是不是应该动名词才对?before starting ...
回复 支持 反对

使用道具 举报

该用户从未签到

14#
发表于 2008-6-5 08:22:30 | 只看该作者
既然楼主想用这种方法,为什么不用Acess呢,用JDBC-ODBC桥,写一段简单的JAVA进行读写就可以了
回复 支持 反对

使用道具 举报

该用户从未签到

15#
发表于 2008-6-6 13:34:26 | 只看该作者

回复 13# 的帖子

太中学生了吧,跟老外讲话好像不用讲究这么多语法,能互相听懂就行了
回复 支持 反对

使用道具 举报

该用户从未签到

16#
发表于 2008-7-8 00:01:35 | 只看该作者
这里有一个简单的例子可供参考:
http://blog.csdn.net/Testing_is_ ... /07/07/2623162.aspx
回复 支持 反对

使用道具 举报

本版积分规则

关闭

站长推荐上一条 /1 下一条

小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

GMT+8, 2024-9-21 02:47 , Processed in 0.083406 second(s), 28 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

快速回复 返回顶部 返回列表