51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 2476|回复: 9
打印 上一主题 下一主题

[原创] Help -- error happened on QTP reading data from Excel file

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2010-5-3 09:07:52 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
I met problem as follow, when I read excel data from sheet1, column2, first 3 rows can be retrieved from QTP, but the row4, row 5 data couldnot get retrieved from QTP.

data in excel sheet1, column2---
Row0: Column2    ---> header
Row1: 1          ---> can be read  
Row2: 2          ---> can be read
Row3: 3          ---> can be read
Row4: line5      ---> error happened here
Row5: line6      ---> error happened here


My scripts:
=====================================================================
Dim Connect1 'As New ADODB.Connection
Dim strQuery
Dim DataRecordSet
Dim arrFields(10)

Set Connect1 = Createobject("ADODB.Connection")
With Connect1
                        .Provider = "Microsoft.JET.OLEDB.4.0"
                        .ConnectionString = "Data Source = D:\QTP\MySpreadsheet.xls;Extended Properties=Excel 8.0;"
                        .Open
End with

' retrieve excel data value
'strQuery = "Select  *  from ["  & strTableName & "$] where " &  strColumnNM1 & " = " &  "'" & strColValue1 & "'"

strQuery = "Select  *  from [Sheet1$] "
'  msgbox strQuery

Set DataRecordSet = Connect1.execute (strQuery)

  '  DataRecordSet.movefirst

        '  set objField = DataRecordSet.Fields

        Do While Not DataRecordSet.EOF
                        intRecordCount = intRecordCount + 1
                        CurrentValue = DataRecordSet("Column2").value
                        msgbox  CurrentValue
                        DataRecordSet.MoveNext
        Loop

Set DataRecordSet = nothing
Set Connect1= nothing
===============================================================

PS: excel saved on D:\QTP\MySpreadsheet.xls

Please all masters help me to solve this problem.

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?(注-册)加入51Testing

x
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
 楼主| 发表于 2010-5-3 09:39:55 | 只看该作者
Can not type chinese in office.

help help ....waiting on line
回复 支持 反对

使用道具 举报

该用户从未签到

3#
发表于 2010-5-3 10:22:27 | 只看该作者
请把excel中的所有数据都存成字符串,因为前面的1、2、3被认为是数字类型,因此读到后面的字符串时解析错误了
回复 支持 反对

使用道具 举报

该用户从未签到

4#
发表于 2010-5-3 18:45:08 | 只看该作者
处理excel还是用Set objExcel = CreateObject("Excel.Application") 好
回复 支持 反对

使用道具 举报

该用户从未签到

5#
 楼主| 发表于 2010-5-3 18:58:20 | 只看该作者
我想的也是这个原因。

通常来说,QTP 用什么来 对 excel操作来好呢?
请 各位老师指教~~~
回复 支持 反对

使用道具 举报

该用户从未签到

6#
 楼主| 发表于 2010-5-3 18:59:01 | 只看该作者
原帖由 TIB 于 2010-5-3 10:22 发表
请把excel中的所有数据都存成字符串,因为前面的1、2、3被认为是数字类型,因此读到后面的字符串时解析错误了


怎么 把 excel 存成 字符串呢?

谢谢
回复 支持 反对

使用道具 举报

该用户从未签到

7#
发表于 2010-5-4 13:53:27 | 只看该作者
cstr( )
回复 支持 反对

使用道具 举报

该用户从未签到

8#
 楼主| 发表于 2010-5-5 07:25:50 | 只看该作者
原帖由 泥泥虫 于 2010-5-4 13:53 发表
cstr( )


my problem is  when retrieve the data "1" in excel, assign to variable , qtp consider it is null value.

don't know the reason.

still get confused. ..
回复 支持 反对

使用道具 举报

该用户从未签到

9#
发表于 2010-5-5 08:49:11 | 只看该作者

回复 6# 的帖子

数字前加单引号就可以在excel中以文本格式存储数字
回复 支持 反对

使用道具 举报

该用户从未签到

10#
 楼主| 发表于 2010-5-7 12:53:52 | 只看该作者
原帖由 TIB 于 2010-5-5 08:49 发表
数字前加单引号就可以在excel中以文本格式存储数字


You are right... quick fix my problem....
thanks

Keep in touch.
回复 支持 反对

使用道具 举报

本版积分规则

关闭

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

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

GMT+8, 2024-11-22 03:37 , Processed in 0.086161 second(s), 28 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

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