51Testing软件测试论坛

标题: DataTable从excel中读取数据,excel文件内的列名如何设定 [打印本页]

作者: cloudcloud    时间: 2011-1-13 15:50
标题: DataTable从excel中读取数据,excel文件内的列名如何设定
---总结DataTable从excel中读取数据的方法

Option explicit
Dim rowcount'存储数据总行数
Dim filepath'获取excel表格路径
Dim i'循环变量
filepath=pathfinder.Locate("webmail_option_preference_hintSendSuccess.xls")
datatable.Import(filepath)
rowcount=datatable.GetRowCount'统计行数
For i=0  to rowcount-1
        datatable.GetCurrentRow '置当前行为活动行
        send=datatable.Value("send")'这里Value("send")中的send为excel中的列名,是在设计测试数据时确定的
        name1=datatable.Value("name1")'同上        
。。。。。。
datatable.SetNextRow'下一行

我在运行该脚本时,到这一行datatable.Value("send")就取不出来了,

因为外部的Excel文件的列名是A,B,C,。。。。不能修改为"send"
就是“webmail_option_preference_hintSendSuccess.xls”的样子是什么样的呢?
或者有其他方式解决这个问题?
而用QTP自己的datatable的方式:DataTable("server", dtLocalSheet) 这样就没问题。
作者: cloudcloud    时间: 2011-1-13 16:13
运行时会提示 :
The retrieve DataTable.Value operation failed. The <send> column does not exist.
作者: 17800455    时间: 2011-1-13 16:47
你都导入到qtp里了   为什么不用qtp本身的
DataTable("server", dtLocalSheet)   还搞的那么麻烦
作者: cloudcloud    时间: 2011-1-14 11:04
本帖最后由 cloudcloud 于 2011-1-14 11:06 编辑

我想把数据和脚本分开嘛,其他测试用例只要维护外部的Excel文件就可以了(表头的列名还是需要的);

后来问题解决了,好像dataTable.Value()能够取到的默认是globalsheet的内容。




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