51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 14511|回复: 35
打印 上一主题 下一主题

[原创] 怎样从EXCEL中读取数据到datatable?

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2009-1-9 15:21:09 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
现在有一个QTP脚本,我希望它从本地硬盘上"D:\test\data.xls" 读取其中的两列数据,分别是“user_name" 和 "password"到QTP中的datatable的"Action1"表, 怎么写代码啊?

代码如下:
datatable.ImportSheet "D:\login.xls", "Sheet1", "login"

[ 本帖最后由 shunfyu 于 2009-1-9 17:37 编辑 ]
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
 楼主| 发表于 2009-1-9 15:41:41 | 只看该作者
难道是不能这样导入数据的??
回复 支持 反对

使用道具 举报

该用户从未签到

3#
发表于 2009-1-9 15:50:20 | 只看该作者
import 是把excle导入datatable里
如果要用里面的值还需要username = datatable("user_name",dtGolbalSheet)
回复 支持 反对

使用道具 举报

该用户从未签到

4#
发表于 2009-1-9 16:02:46 | 只看该作者
datatable.import就可以的。你肯定是什么地方弄错了吧。
回复 支持 反对

使用道具 举报

该用户从未签到

5#
 楼主| 发表于 2009-1-9 16:22:17 | 只看该作者
是导入的时候就出错了!~~ 说什么 File contains a feature not supported by Formula One..
回复 支持 反对

使用道具 举报

该用户从未签到

6#
 楼主| 发表于 2009-1-9 17:36:52 | 只看该作者
到底是什么问题的啊? 郁闷~
回复 支持 反对

使用道具 举报

该用户从未签到

7#
 楼主| 发表于 2009-1-10 10:21:12 | 只看该作者
顶起来!!
回复 支持 反对

使用道具 举报

该用户从未签到

8#
发表于 2009-1-10 11:34:26 | 只看该作者
应该是你的excel单元格的格式QTP不支持,你可以把excel的格式清除,再手动输入,看看能不能导入。
回复 支持 反对

使用道具 举报

该用户从未签到

9#
发表于 2009-1-10 12:34:58 | 只看该作者

从EXCLE里读取数据实例

'============================
'   从EXCLE里读取数据实例
'============================
Option Explicit
Dim xlApp, xlFile, xlSheet,Msg
Dim iRowCount, iLoop,iLoop1,numAdd,iColCount,column2,column3,column4
Set xlApp = CreateObject ("Excel.Application")'创建访问对象xlApp
Set xlFile = xlApp.Workbooks.Open ("F:\VbScript.eg\Employees.xls")'打开文件
Set xlSheet = xlFile.Sheets("Sheet1")'设置访问文件列表
iRowCount = xlSheet.usedRange.Rows.Count
iColCount = xlSheet.usedRange.Columns.Count
For iLoop = 2 To iRowCount'取出第2行到第iRowCount行的值
  For iLoop1 = 1 To iColCount'取出第一列到第iRowCount列的值
  numAdd = numAdd&"  "&xlSheet.Cells(iLoop,iLoop1)
  Next
  Msg=MsgBox("第"&iLoop&"条记录:"&numAdd,,"提示!")
  numAdd=""
Next
'xlFile.Save
xlFile.Close
xlApp.Quit
Set xlSheet = Nothing
Set xlFile = Nothing
Set xlApp = Nothing
回复 支持 反对

使用道具 举报

该用户从未签到

10#
 楼主| 发表于 2009-1-10 13:02:44 | 只看该作者
楼上的GG,我不明白啊,为什么要写这么多代码的?? 它和datatable.import各有什么区别啊???
回复 支持 反对

使用道具 举报

该用户从未签到

11#
发表于 2009-1-10 13:11:02 | 只看该作者
道理都一样,你用导入就是直接把数据导到QTP的表中,再去读表中的数据。上面是用代码直接从硬盘的文件中读文件里的数据,赋给脚本中的变量而已。
回复 支持 反对

使用道具 举报

该用户从未签到

12#
 楼主| 发表于 2009-1-10 13:27:56 | 只看该作者
嗯, 明白了。。非常感谢,most2008 …… 但我的问题还是没解决啊,就是用 datatable import ... 还是不行啊……
回复 支持 反对

使用道具 举报

该用户从未签到

13#
发表于 2009-1-10 15:06:42 | 只看该作者
兄弟,看看你的出错信息“File contains a feature not supported by Formula One”
要知道Formula One是QTP DataTable所采用的控件,也就是QTP的DataTable不是用的微软的Excel,而是用的Formula One这个控件。现在错误提示说明Excel的格式与Formula One不兼容,所以不要浪费时间在语法上了,语法没有问题。应该是兼容性的问题。
回复 支持 反对

使用道具 举报

该用户从未签到

14#
 楼主| 发表于 2009-1-10 15:18:50 | 只看该作者
  感谢楼上的提醒,我也想到过这个问题,可能是因为我用的是OpenOffice导出的xls文档吧~~ 但没道理QTP只认MS的产品,不认识标准的xls文件??
回复 支持 反对

使用道具 举报

该用户从未签到

15#
发表于 2009-1-13 09:46:05 | 只看该作者
datatable.importsheet
回复 支持 反对

使用道具 举报

该用户从未签到

16#
 楼主| 发表于 2009-1-13 10:21:42 | 只看该作者
  真是灵异事件啊!·~~ datatable.importsheet 导不入QTP,表的内容是空白的……
回复 支持 反对

使用道具 举报

该用户从未签到

17#
 楼主| 发表于 2009-1-13 10:43:07 | 只看该作者
我指的是运行当中~~ datatable.import 语句后,跟了一个 wait(10),  专门来看数据导入到QTP中没有,但可惜总导入不了,真的是一定要microsoft office啊?
回复 支持 反对

使用道具 举报

该用户从未签到

18#
发表于 2009-1-13 14:21:25 | 只看该作者
LS是什么OFFICE
回复 支持 反对

使用道具 举报

该用户从未签到

19#
发表于 2009-1-13 15:55:23 | 只看该作者
楼主是“朱”啊。
“春”到了极点。
回复 支持 反对

使用道具 举报

该用户从未签到

20#
 楼主| 发表于 2009-1-14 10:40:52 | 只看该作者
  搞定。。。 楼上的嘴巴不干净,但还是感谢你的回复。。
回复 支持 反对

使用道具 举报

本版积分规则

关闭

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

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

GMT+8, 2024-11-17 13:40 , Processed in 0.098947 second(s), 27 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

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