51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 2948|回复: 8
打印 上一主题 下一主题

[原创] 为什么将外部的Excel导入到Datatable 中循环只执行一次

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2011-4-25 17:48:40 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我使用Datatable.ImportSheet"Path","A","Global"
将路径为Path,sheet名称为A的excel导入到Datatable的Global中,但执行的时候只是循环了一次,Excel中有30组数据,只是跑了第一组就结束了,这个是什么原因呢 ?

通常不是在Global中有几组就会循环几次嘛,大家帮帮忙,谢谢了~~~~·
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
 楼主| 发表于 2011-4-26 09:48:17 | 只看该作者
问题已经解决了,呵呵

使用的是
set dtSheet = datatable.GetSheet(“Global”)
for i= 0 to dtSheet.getrowcount
....
dtSheet.setnextrow
之后就可以循环取值了。 set dtSheet = datatable.GetSheet(“Global”)

在这里找的答案,本文来源于YY程序员网:http://www.yyjjssnn.cn
回复 支持 反对

使用道具 举报

该用户从未签到

3#
发表于 2011-4-26 17:45:43 | 只看该作者
我也觉得奇怪,有的时候QTP 就自己执行datatable中设置的所有组数据,而有的时候只执行第一组,需要增加一个for循环。还没搞明白这是为啥~
反正只要他不自动循环,那就手动增加for循环喽~
回复 支持 反对

使用道具 举报

该用户从未签到

4#
发表于 2011-4-27 09:16:41 | 只看该作者
外部导入的datatable,不加for的话就只循环一行吧~
回复 支持 反对

使用道具 举报

该用户从未签到

5#
发表于 2011-6-17 16:19:34 | 只看该作者
还是自己手动循环比较把握
回复 支持 反对

使用道具 举报

该用户从未签到

6#
发表于 2011-6-21 10:54:54 | 只看该作者
因为如果excel设置为global那么有多少个action就执行循环多少次,如果你只有一个action就只循环一次,如果你只有一个action你可以设置为localsheet,localsheet就是datatable里有多少行就循环多少次
回复 支持 反对

使用道具 举报

该用户从未签到

7#
发表于 2011-6-21 15:07:21 | 只看该作者
导入到global就不会有这个问题了,循环的次数和global里面的rowcount有关
回复 支持 反对

使用道具 举报

该用户从未签到

8#
发表于 2011-6-24 14:43:01 | 只看该作者
关注中
回复 支持 反对

使用道具 举报

  • TA的每日心情
    奋斗
    2022-7-13 15:22
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]测试小兵

    9#
    发表于 2011-6-24 16:41:51 | 只看该作者
    1。 如果是我的话,直接用Excel 作为数据源,set obj=CreateObject("Excel.Appliacation")
    2.  用datatable的话,可以设置的,切换到 keyword view, right click "Action"--〉Action call Properties, 设置 run on all rows
    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

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

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

    GMT+8, 2024-11-9 01:59 , Processed in 0.077544 second(s), 27 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

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