shunfyu 发表于 2009-1-9 15:21:09

怎样从EXCEL中读取数据到datatable?

现在有一个QTP脚本,我希望它从本地硬盘上"D:\test\data.xls" 读取其中的两列数据,分别是“user_name" 和 "password"到QTP中的datatable的"Action1"表, 怎么写代码啊?

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

[ 本帖最后由 shunfyu 于 2009-1-9 17:37 编辑 ]

shunfyu 发表于 2009-1-9 15:41:41

难道是不能这样导入数据的??

wuei9090 发表于 2009-1-9 15:50:20

import 是把excle导入datatable里
如果要用里面的值还需要username = datatable("user_name",dtGolbalSheet)

远野志贵 发表于 2009-1-9 16:02:46

datatable.import就可以的。你肯定是什么地方弄错了吧。
:o

shunfyu 发表于 2009-1-9 16:22:17

是导入的时候就出错了!~~ 说什么 File contains a feature not supported by Formula One..

shunfyu 发表于 2009-1-9 17:36:52

到底是什么问题的啊? 郁闷~ :(

shunfyu 发表于 2009-1-10 10:21:12

顶起来!!

asoqa 发表于 2009-1-10 11:34:26

应该是你的excel单元格的格式QTP不支持,你可以把excel的格式清除,再手动输入,看看能不能导入。

most2008 发表于 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

shunfyu 发表于 2009-1-10 13:02:44

楼上的GG,我不明白啊,为什么要写这么多代码的?? 它和datatable.import各有什么区别啊???

most2008 发表于 2009-1-10 13:11:02

道理都一样,你用导入就是直接把数据导到QTP的表中,再去读表中的数据。上面是用代码直接从硬盘的文件中读文件里的数据,赋给脚本中的变量而已。

shunfyu 发表于 2009-1-10 13:27:56

嗯, 明白了。。非常感谢,most2008 …… 但我的问题还是没解决啊,就是用 datatable import ... 还是不行啊……

asoqa 发表于 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不兼容,所以不要浪费时间在语法上了,语法没有问题。应该是兼容性的问题。

shunfyu 发表于 2009-1-10 15:18:50

:handshake感谢楼上的提醒,我也想到过这个问题,可能是因为我用的是OpenOffice导出的xls文档吧~~ 但没道理QTP只认MS的产品,不认识标准的xls文件??

lingxin5013 发表于 2009-1-13 09:46:05

datatable.importsheet

shunfyu 发表于 2009-1-13 10:21:42

:Q真是灵异事件啊!·~~ datatable.importsheet 导不入QTP,表的内容是空白的……

shunfyu 发表于 2009-1-13 10:43:07

我指的是运行当中~~ datatable.import 语句后,跟了一个 wait(10),专门来看数据导入到QTP中没有,但可惜总导入不了,真的是一定要microsoft office啊?

lingxin5013 发表于 2009-1-13 14:21:25

LS是什么OFFICE

远野志贵 发表于 2009-1-13 15:55:23

楼主是“朱”啊。
“春”到了极点。
:o

shunfyu 发表于 2009-1-14 10:40:52

:victory:搞定。。。 楼上的嘴巴不干净,但还是感谢你的回复。。:hug:
页: [1] 2
查看完整版本: 怎样从EXCEL中读取数据到datatable?