51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 10023|回复: 20
打印 上一主题 下一主题

[原创] 如何将excel数据导入QTP的DataTable的方法

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2010-1-12 14:42:12 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
filePath="D:\lery work file\ForLeryTest\userHaveOrderPrice.xls"        ’首先将要导入DataTable的excel路径找到
Datatable.ImportSheet filePath,"userHaveOrderCompany","Price"       ’开始导入,ImportSheet后面的三个参数分别是该excel的路 径,,"userHaveOrderCompany"是该excel中将要导入的某个sheet名字,"Price"是DataTable中的sheet名字,意味着将“userHaveOrderCompany”sheet中的数据装载到DataTable的"Price"sheet中

rcount=DataTable.GetSheet("Price").GetRowCount                ’GetRowCount方法获得当前sheet的行数
For i=0 to rcount                   '用一个循环将该sheet中名为"SKU”的列所有数据读出来,其中GetSheet(2)方法中的参数可以是sheet name 或者是sheet Index
datatable.SetCurrentRow(i+1)
   itemContent=DataTable.GetSheet(2).getparameter("SKU").value
'也可以写成:itemContent=DataTable.value("SKU",2)
   msgbox itemContent
Next

[ 本帖最后由 lery 于 2010-1-29 14:19 编辑 ]

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?(注-册)加入51Testing

x
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
发表于 2010-2-1 16:47:10 | 只看该作者
我按照你的方法来做,还是不行啊。出现找不到“price”这列
回复 支持 反对

使用道具 举报

该用户从未签到

3#
发表于 2010-2-1 16:55:46 | 只看该作者
当然找不到PRICE这行。你看这段代码
datatable.SetCurrentRow(i+1)
   itemContent=DataTable.GetSheet(2).getparameter("SKU").value
'也可以写成:itemContent=DataTable.value("SKU",2)
   msgbox itemContent
Next

楼主只是做示范而已
回复 支持 反对

使用道具 举报

该用户从未签到

4#
发表于 2010-4-16 17:53:56 | 只看该作者
中间过程是把excel里的值显示出来了,可运行结束以后datatable里还是没有数据,有办法解决这个问题吗?
回复 支持 反对

使用道具 举报

该用户从未签到

5#
发表于 2010-4-16 23:05:57 | 只看该作者
关于ImportSheet方法:
Imports a sheet of a specified file to a specified sheet in the run-time Data Table

注意是run-time Data Table
回复 支持 反对

使用道具 举报

该用户从未签到

6#
发表于 2010-4-19 19:41:49 | 只看该作者
importSheet 这个方法的第三个参数是待导入的DataTable的名称或索引,所以需要确保你的脚本中含有对应的DataTable
虽然导入的数据是临时存在的,脚本运行完后会自动从DataTable中消失,但运行结果报告中会有导入的DataTable的对应数据可以查阅
回复 支持 反对

使用道具 举报

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

    连续签到: 1 天

    [LV.2]测试排长

    7#
    发表于 2010-4-20 09:18:47 | 只看该作者
    DataTable.ImportSheet("C:\123.xls","exsheet","Action1")
    dataTable.Import("C:\123.xls")
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    8#
    发表于 2010-9-7 14:50:25 | 只看该作者
    有没有方法是能直接在action表中看到数据的,而不是在result中才能看到?
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2015-10-19 13:26
  • 签到天数: 2 天

    连续签到: 2 天

    [LV.1]测试小兵

    9#
    发表于 2010-9-7 20:01:43 | 只看该作者
    import导入后,可以用wait语句,设置断点,可以查看有没有导入数据
    回复 支持 反对

    使用道具 举报

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

    连续签到: 1 天

    [LV.2]测试排长

    10#
    发表于 2010-11-16 13:39:57 | 只看该作者
    回复 8# qtlang


        只有在运行的过程中才会导入数据 ,
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    11#
    发表于 2011-12-5 16:09:47 | 只看该作者
    导进去没有数据呀,怎么让它有数据呢
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    12#
    发表于 2011-12-5 16:54:05 | 只看该作者
    filePath="G:\datatable.xls"      
    Datatable.ImportSheet filePath,"datatable","username"   
    rcount=DataTable.GetSheet("username").GetRowCount              
    For i=0 to rcount                 
    datatable.SetCurrentRow(i+1)
       itemContent=DataTable.GetSheet(1).getparameter("username").value
    '也可以写成:itemContent=DataTable.value("SKU",2)
       msgbox itemContent
    Next

    为什么老是报The DataTable.GetSheet operation failed. The username sheet does not exist.

    Line (11): "rcount=DataTable.GetSheet("username").GetRowCount". 和The Sheet.GetParameter operation failed. The <username> column does not exist.

    Line (18): "itemContent=DataTable.GetSheet(1).getparameter("username").value".这个错误
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    13#
    发表于 2011-12-5 16:54:58 | 只看该作者
    username         password
    ddd        123
    sss        232
    swfe        234
    sfw        123
    这是EXCEl表格
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    14#
    发表于 2011-12-6 12:21:10 | 只看该作者
    额~还是要试试才知道!
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    15#
    发表于 2012-3-26 12:38:00 | 只看该作者
    出错啊出错!
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    16#
    发表于 2012-7-20 01:58:48 | 只看该作者
    晕,将GetSheet(2)里面的2改成1就是好的。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    17#
    发表于 2012-7-23 16:29:25 | 只看该作者
    回复 4# hadywei

    这是QTP的运行机制,QTP执行的过程中导入数据,是run time的datatable.
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    18#
    发表于 2012-7-23 16:31:06 | 只看该作者
    回复 12# 936586303


    DataTable.ImportSheet(FileName, SheetSource, SheetDest)

    FileName: The full or relative path of the Excel table from which you want to import a sheet. It can be a file system or Quality Center path.  

    SheetSource:  The name or index of the sheet in the file that you want to import. Index values begin with 1.  

    SheetDest:  The name or index of the sheet in the Data Table that you want to replace with the SheetSource. Index values begin with 1.  

    要仔细去看QTP的帮助文档。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    19#
    发表于 2012-8-15 14:27:53 | 只看该作者
    回复 12# 936586303
    请问,你这个问题最后怎么解决的?原因找到了吗?我也遇到过同样的问题。。。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    20#
    发表于 2012-8-16 13:43:26 | 只看该作者
    学习下
    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

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

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

    GMT+8, 2024-9-22 14:39 , Processed in 0.089309 second(s), 28 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

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