51Testing软件测试论坛

标题: 为什么将外部的Excel导入到Datatable 中循环只执行一次 [打印本页]

作者: wxy5g    时间: 2011-4-25 17:48
标题: 为什么将外部的Excel导入到Datatable 中循环只执行一次
我使用Datatable.ImportSheet"Path","A","Global"
将路径为Path,sheet名称为A的excel导入到Datatable的Global中,但执行的时候只是循环了一次,Excel中有30组数据,只是跑了第一组就结束了,这个是什么原因呢 ?

通常不是在Global中有几组就会循环几次嘛,大家帮帮忙,谢谢了~~~~·
作者: wxy5g    时间: 2011-4-26 09:48
问题已经解决了,呵呵

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

在这里找的答案,本文来源于YY程序员网:http://www.yyjjssnn.cn
作者: jing_douzi    时间: 2011-4-26 17:45
我也觉得奇怪,有的时候QTP 就自己执行datatable中设置的所有组数据,而有的时候只执行第一组,需要增加一个for循环。还没搞明白这是为啥~
反正只要他不自动循环,那就手动增加for循环喽~
作者: linhd030    时间: 2011-4-27 09:16
外部导入的datatable,不加for的话就只循环一行吧~
作者: hzr2006    时间: 2011-6-17 16:19
还是自己手动循环比较把握
作者: efficient    时间: 2011-6-21 10:54
因为如果excel设置为global那么有多少个action就执行循环多少次,如果你只有一个action就只循环一次,如果你只有一个action你可以设置为localsheet,localsheet就是datatable里有多少行就循环多少次
作者: 云层    时间: 2011-6-21 15:07
导入到global就不会有这个问题了,循环的次数和global里面的rowcount有关
作者: yxd2006    时间: 2011-6-24 14:43
关注中
作者: rivermen    时间: 2011-6-24 16:41
1。 如果是我的话,直接用Excel 作为数据源,set obj=CreateObject("Excel.Appliacation")
2.  用datatable的话,可以设置的,切换到 keyword view, right click "Action"--〉Action call Properties, 设置 run on all rows




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