51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 3409|回复: 3
打印 上一主题 下一主题

[原创] DataTable从excel中读取数据,excel文件内的列名如何设定

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2011-1-13 15:50:55 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
---总结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) 这样就没问题。
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

4#
 楼主| 发表于 2011-1-14 11:04:38 | 只看该作者
本帖最后由 cloudcloud 于 2011-1-14 11:06 编辑

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

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

使用道具 举报

  • TA的每日心情
    开心
    2018-7-13 14:04
  • 签到天数: 6 天

    连续签到: 1 天

    [LV.2]测试排长

    3#
    发表于 2011-1-13 16:47:56 | 只看该作者
    你都导入到qtp里了   为什么不用qtp本身的
    DataTable("server", dtLocalSheet)   还搞的那么麻烦
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    2#
     楼主| 发表于 2011-1-13 16:13:15 | 只看该作者
    运行时会提示 :
    The retrieve DataTable.Value operation failed. The <send> column does not exist.
    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

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

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

    GMT+8, 2024-11-10 19:37 , Processed in 0.072655 second(s), 28 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

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