51Testing软件测试论坛
标题:
怎样从EXCEL中读取数据到datatable?
[打印本页]
作者:
shunfyu
时间:
2009-1-9 15:21
标题:
怎样从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
难道是不能这样导入数据的??
作者:
wuei9090
时间:
2009-1-9 15:50
import 是把excle导入datatable里
如果要用里面的值还需要username = datatable("user_name",dtGolbalSheet)
作者:
远野志贵
时间:
2009-1-9 16:02
datatable.import就可以的。你肯定是什么地方弄错了吧。
作者:
shunfyu
时间:
2009-1-9 16:22
是导入的时候就出错了!~~ 说什么 File contains a feature not supported by Formula One..
作者:
shunfyu
时间:
2009-1-9 17:36
到底是什么问题的啊? 郁闷~
作者:
shunfyu
时间:
2009-1-10 10:21
顶起来!!
作者:
asoqa
时间:
2009-1-10 11:34
应该是你的excel单元格的格式QTP不支持,你可以把excel的格式清除,再手动输入,看看能不能导入。
作者:
most2008
时间:
2009-1-10 12:34
标题:
从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
楼上的GG,我不明白啊,为什么要写这么多代码的?? 它和datatable.import各有什么区别啊???
作者:
most2008
时间:
2009-1-10 13:11
道理都一样,你用导入就是直接把数据导到QTP的表中,再去读表中的数据。上面是用代码直接从硬盘的文件中读文件里的数据,赋给脚本中的变量而已。
作者:
shunfyu
时间:
2009-1-10 13:27
嗯, 明白了。。非常感谢,most2008 …… 但我的问题还是没解决啊,就是用 datatable import ... 还是不行啊……
作者:
asoqa
时间:
2009-1-10 15:06
兄弟,看看你的出错信息“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
感谢楼上的提醒,我也想到过这个问题,可能是因为我用的是OpenOffice导出的xls文档吧~~ 但没道理QTP只认MS的产品,不认识标准的xls文件??
作者:
lingxin5013
时间:
2009-1-13 09:46
datatable.importsheet
作者:
shunfyu
时间:
2009-1-13 10:21
真是灵异事件啊!·~~ datatable.importsheet 导不入QTP,表的内容是空白的……
作者:
shunfyu
时间:
2009-1-13 10:43
我指的是运行当中~~ datatable.import 语句后,跟了一个 wait(10), 专门来看数据导入到QTP中没有,但可惜总导入不了,真的是一定要microsoft office啊?
作者:
lingxin5013
时间:
2009-1-13 14:21
LS是什么OFFICE
作者:
远野志贵
时间:
2009-1-13 15:55
楼主是“朱”啊。
“春”到了极点。
作者:
shunfyu
时间:
2009-1-14 10:40
搞定。。。 楼上的嘴巴不干净,但还是感谢你的回复。。
作者:
zhysync
时间:
2009-1-14 14:50
我试了一下,用MSexcel编的可以导入呀。导入时不要打开这个文件,你多试试。
作者:
shunfyu
时间:
2009-1-14 15:31
顶楼上的。。。 多谢你的帮助。。
作者:
Randall
时间:
2009-1-14 20:16
openoffice格式的文档是不能import到datatable的
作者:
∮随风而去~
时间:
2009-1-16 18:02
学习~!
作者:
liull315
时间:
2009-1-19 14:22
用datatable.improt会出现不兼容的问题吗??
datatable.importsheet呢??
作者:
loho1968
时间:
2009-1-19 22:54
可以使用ADO直接打开EXCEL,然后如同访问数据库一样访问和更新EXCEL
作者:
maomaochong010
时间:
2009-3-12 11:17
我想请教一下,打开本地硬盘上的一个excel读取数据,能不能按照第一行的列名来读取啊
excel我是这样设计的:
第一行:username userpassword
第二行:maomao 12345
目前我读数据,直接从第二行读取,我现在想如果可以根据第一行的名字来读取是不是更好一些?这样列的前后顺序变动了也不需要改动代码了,请问大家有什么好办法吗
作者:
yan_guimei
时间:
2009-8-18 11:14
标题:
回复 20# 的帖子
我也遇到了同样的问题。。请问怎么解决的。。?
作者:
936586303
时间:
2011-12-5 15:01
楼主,我也想从有EXCEl上导入数据到Action中,但不知道从何下手、、、帮帮忙哇,新手
作者:
lijingprince5
时间:
2012-7-5 15:24
回复
1#
shunfyu
我执行代码,执行完之后是没有反应的
作者:
yazi0127
时间:
2012-7-5 15:56
QTP支持xls格式
作者:
yazi0127
时间:
2012-7-5 16:10
回复
27#
maomaochong010
直接从data table中去字段的名字
DataTable.GetSheet(sheetname).GetParameter("UserName")
作者:
user603
时间:
2012-7-5 16:50
回复
20#
shunfyu
这问题我也碰到过,当时用的其他OFFICE,存在XLS。换成MS OFFICE2010的文档OK的。
作者:
TestWith1314
时间:
2012-7-6 10:08
No error no warning happens, but excel datas haven't be imported to the datatable, why ?
作者:
金盒
时间:
2012-7-6 12:52
我觉得如果导出一下,再导入可以。但是如果excel是新的或者是被修改了,就导入不了,求解决?
作者:
北京测试基地
时间:
2012-7-10 10:40
版本问题,用2003 的xls文件没问题,2007的xlsx的读取有误。
欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/)
Powered by Discuz! X3.2