51Testing软件测试论坛

标题: 导入 导出EXCEL [打印本页]

作者: haiqin    时间: 2007-9-19 09:21
标题: 导入 导出EXCEL
有谁知道,怎么样能把EXCEL表中数据导入和导出呢,用代码写的那种,我在网上找了点,可是运行不了,我看不懂了,先放上来,如果谁看懂了,帮忙解释下 
如何将脚本运行完的结果存入EXCEL
我想将运行完的结果,比如"PASS"或是“FAILED”写入到EXCEL中,如何写代码?
我贴一段QTPxls文件的读写代码吧。

Set xlApp = CreateObject("Excel.Application")
xlApp.application.visible=true
Set xlbook=xlApp.WorkBooks.Open("d:\nonodata.xls")
Set xlSheet = xlBook.Worksheets("Sheet1")
systemutil.Run "C:\windows\system32\calc.exe"

For i=2 to 5
        input1= xlSheet.cells(i,2).value
        expression = xlSheet.cells(i,3).value
        input2= xlSheet.cells(i,4).value
        expresult = xlsheet.cells(i,5).value
        
Window("
计算器").Activate
Window("
计算器").Type cstr(input1)
Window("
计算器").WinButton("operator").SetTOProperty "text",cstr(expression)   我走到这步就运行不下去了,提示operator 找不到,怎么解决
Window("
计算器").WinButton("operator").Click
Window("
计算器").WinEdit("Edit").Type cstr(input2)
Window("
计算器").WinButton("=").Click

outvalue = cstr(window("
计算器").WinEdit("Edit").GetROProperty ("text"))
Window("
计算器").WinButton("C").Click
actresult = replace(outvalue,".","")
If trim(cstr(expresult)) <> trim(cstr(actresult)) Then
        reporter.ReportEvent 1,"
测试结果","失败"
        xlsheet.cells(i,7) = "NOK"
        xlsheet.cells(i,7).font.color = vbred
else
        reporter.ReportEvent 0,"
测试结果","成功"
        xlsheet.cells(i,7) = "OK"
        xlsheet.cells(i,7).font.color = vbgreen
End If
xlSheet.cells(i,6) = actresult
xlSheet.cells(i,6).font.color = vbblue
Next
Window("
计算器").Close

xlbook.save
xlApp.DisplayAlerts = False
xlbook.close(true)
xlApp.quit
Set excel=nothing

p.s.:xls
文件内容如下:
caseID        input1        expression        input2        expresult        actresult        conclusion
1        4        +        2        6               
2        3        -        2        1               
3        3        *        5        15               
4        6        /        2        20

作者: walker1020    时间: 2007-9-19 09:33
你说的“我走到这步就运行不下去了,提示operator 找不到“,很有可能是对象库里面没有operator 。你到对象库里面去自己看看。
作者: walker1020    时间: 2007-9-19 09:47
标题: 帮你简单分析一下各段代码的含义
创建Excel表格
Set xlApp = CreateObject("Excel.Application")
xlApp.application.visible=true

打开d:\nonodata.xls 的Sheet1
Set xlbook=xlApp.WorkBooks.Open("d:\nonodata.xls")
Set xlSheet = xlBook.Worksheets("Sheet1")

运行 calc.exe程序
systemutil.Run "C:\windows\system32\calc.exe"
作者: walker1020    时间: 2007-9-19 09:48
input1= xlSheet.cells(i,2).value
        expression = xlSheet.cells(i,3).value
        input2= xlSheet.cells(i,4).value
        expresult = xlsheet.cells(i,5).value

这段代码的作用是从Excel中读取输入值和期望的输出结果。
作者: walker1020    时间: 2007-9-19 09:54
Window("计算器").Activate
Window("计算器").Type cstr(input1)
Window("计算器").WinButton("operator").SetTOProperty "text",cstr(expression) 
Window("计算器").WinButton("operator").Click
Window("计算器").WinEdit("Edit").Type cstr(input2)
Window("计算器").WinButton("=").Click

这段代码的作用是 输入两个数值,然后点击“=”
作者: walker1020    时间: 2007-9-19 09:55
outvalue = cstr(window("计算器").WinEdit("Edit").GetROProperty ("text"))
Window("计算器").WinButton("C").Click
actresult = replace(outvalue,".","")
If trim(cstr(expresult)) <> trim(cstr(actresult)) Then
        reporter.ReportEvent 1,"测试结果","失败"
        xlsheet.cells(i,7) = "NOK"
        xlsheet.cells(i,7).font.color = vbred
else
        reporter.ReportEvent 0,"测试结果","成功"
        xlsheet.cells(i,7) = "OK"
        xlsheet.cells(i,7).font.color = vbgreen
End If
xlSheet.cells(i,6) = actresult
xlSheet.cells(i,6).font.color = vbblue
Next
Window("计算器").Close

这段代码的作用是验证运行结果进行验证,并把验证的结果写到 Excel里去
作者: walker1020    时间: 2007-9-19 09:56
最后一段的作用很简单,就是保存验证的结果,并退出
作者: walker1020    时间: 2007-9-19 09:59
关于对 EXCEL的操作的讨论,论坛上有不少这样的帖子,楼主可以去搜索一下
作者: haiqin    时间: 2007-9-19 10:38
哦,先谢谢啦,我在去看看
作者: lengz    时间: 2007-9-19 11:52
QTP有一个DEMO就是专门操作EXCEL的,LZ可以看看




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2