wxy5g 发表于 2011-4-25 17:48:40

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

我使用Datatable.ImportSheet"Path","A","Global"
将路径为Path,sheet名称为A的excel导入到Datatable的Global中,但执行的时候只是循环了一次,Excel中有30组数据,只是跑了第一组就结束了,这个是什么原因呢 ?

通常不是在Global中有几组就会循环几次嘛,大家帮帮忙,谢谢了~~~~·

wxy5g 发表于 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

jing_douzi 发表于 2011-4-26 17:45:43

我也觉得奇怪,有的时候QTP 就自己执行datatable中设置的所有组数据,而有的时候只执行第一组,需要增加一个for循环。还没搞明白这是为啥~
反正只要他不自动循环,那就手动增加for循环喽~

linhd030 发表于 2011-4-27 09:16:41

外部导入的datatable,不加for的话就只循环一行吧~

hzr2006 发表于 2011-6-17 16:19:34

还是自己手动循环比较把握

efficient 发表于 2011-6-21 10:54:54

因为如果excel设置为global那么有多少个action就执行循环多少次,如果你只有一个action就只循环一次,如果你只有一个action你可以设置为localsheet,localsheet就是datatable里有多少行就循环多少次

云层 发表于 2011-6-21 15:07:21

导入到global就不会有这个问题了,循环的次数和global里面的rowcount有关

yxd2006 发表于 2011-6-24 14:43:01

关注中

rivermen 发表于 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]
查看完整版本: 为什么将外部的Excel导入到Datatable 中循环只执行一次