云之边 发表于 2010-4-26 11:35:30

QTP 读取Excel表

各位大虾:
   三个问题,请不吝赐教
   1. QTP是不是只能读取MS office保存的excel表,例如open office 就不行?
   2.我有一个excel表,本来有6行数据 ,我将之删掉一些, 剩3行,但是QTP将之import到Action表后,用getRowCount()返回值怎么还是6?
   3.关于,button的getROProperty("enabled")返回值得问题:使用qtp自带的flightorder的例子,当进入到第二次循环(提交多个定单,利用外部excel设置多组数据)时, 界面上button"InsertOrder"是diable的状态,Window("FlightReservation").WinButton("InsertOrder").GetROProperty("enabled") 的返回值是true????????????????
         这个不应给是界面是界面上该button是enable时返回true 吗?
谢谢!!!!

[ 本帖最后由 云之边 于 2010-4-26 14:17 编辑 ]

llxwhhit 发表于 2010-4-26 13:56:18

问题2删掉后3行之后是不是还有黑色的线显示,如果是的话,说明你只删除的数据,该行还存在的
将整行删掉试一下行不行

云之边 发表于 2010-4-26 14:15:27

问题2:我删的时候,只是把后三行的内容给删了(并且这三行的框线也没有了),不是进行的Delete row操作.这样为什么得到的行数是没有删以前的行数???????????????
问题3:经过反复尝试,发现原因是:
qtp脚本执行很快,当应用程序界面上button "inser order"已经从enable->disable,然而应用程序返回值没来得及enable->disable,所以脚本就取出来了该button的状态是enable.   如果在该行脚本前面打一个断点等待一下,就会发现脚本取出来的值是disable的了(此时就与界面上一致了).

[ 本帖最后由 云之边 于 2010-4-26 15:19 编辑 ]

Haereticus 发表于 2010-4-26 17:02:57

问题2: 如果只删除range是不行的,range所在的行还会比当做数据行,必须删除整行。用EntireRow.Delete吧

TIB 发表于 2010-4-26 17:03:51

问题1:太高版本的Excel也不支持
问题2:需要在QTP的DataTable中Delete

云之边 发表于 2010-4-27 10:37:59

问题2:在office Excel中进行操作.
经过反复尝试,要想真正的delete掉一行数据的方法有两种:
1. 首先右键clear content, 然后,将该行Cell的框线等给清掉.
2. 直接右键Delete row.
页: [1]
查看完整版本: QTP 读取Excel表