51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 1644|回复: 3
打印 上一主题 下一主题

[原创] 从外部Excel中读取数据到QTP中

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2011-6-27 11:27:23 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
这个要怎么读取啊,求脚本,谢谢!
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
发表于 2011-6-27 11:56:31 | 只看该作者
本帖最后由 lanchozxd 于 2011-6-27 14:20 编辑

回复 1# 开朗幽默 给个思路吧,下边代码基本可以实现操作,但是文件关闭,变量=nothing等没写出来
     ’  打开workbook
    set  workBook = openExcel(filepath)    ’ 取得某个sheet
    set xlsSheet = workBook.Worksheets("业务类型管理")    dim cellValue
     dim cellValue ’ 定义
    cellValue  = getCellValue(xlsSheet ,2,1) '  取值
     
      ' 关闭excel
     call closeExcel(workBook)  


    '   打开excel
    Function openExcel(filePath)
            err = 0
            On error resume next
            '定义excel file
            Dim objExcel
            set objExcel = CreateObject("Excel.Application")
            ' 定义workbook
            Dim workBook
            Set fso = CreateObject("Scripting.FileSystemObject")
            
            If fso.FileExists (filePath)  Then
                Set  workBook = objExcel.Workbooks.Open(filePath)
            else
                msgbox  "指定的文件不存在,请确认",vbokonly , "打开失败"
                Exit function
            End If
            set openExcel =  workBook
            
            If err.number <>0  Then
                msgbox  "打开excel文件失败:" _
                         & err.description,vbokonly , "打开失败"
            End If
                On error goto 0           '  关闭,置空
          fso.close
         set fso =nothing
         set objExcel  =nothing
         set workbook =nothing
    End Function

'=======================================
' 取得指定sheet指定cell的值
' @ parameter  xlsSheet  sheet对象
' @ parameter  rowNum  行数
' @ parameter  colNum   l列数
' @ return   getCellValue
'=======================================
   Function getCellValue(xlsSheet, rowNum, colNum)
    '  存放cell的值
   Dim actualValue
   actualValue =trim(cstr( xlsSheet.cells(rowNum, colNum)))
    err = 0
    On error resume next
     If err.number <> 0  Then
             getCellValue = "#can not get the right value#"
     else
         ' 返回值
             getCellValue = actualValue
     End If

     End Function



' ===================================
' 关闭excel 文件
' close a opende excel file
' @parameter workbook
' ===================================
Function closeExcel(workbook)
err = 0
on error resume  next
' 关闭excel前 先保存
workbook.save
workbook.close
If err.number <>0 Then
    msgbox "关闭excel失败,请确认!",vbokonly,"提示信息"
End If
    On error goto 0
End Funct
回复 支持 反对

使用道具 举报

该用户从未签到

3#
发表于 2011-7-8 13:37:24 | 只看该作者
學習啦
回复 支持 反对

使用道具 举报

该用户从未签到

4#
发表于 2011-7-8 17:03:04 | 只看该作者
Excel文件不大的话,直接导入到本地的表就可以了
DataStr= "C:\Test.xls"
DataTable.AddSheet("Excel")
DataTable.ImportSheet  DataStr,"Sheet1","Excel"
回复 支持 反对

使用道具 举报

本版积分规则

关闭

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

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

GMT+8, 2024-11-9 09:48 , Processed in 0.075736 second(s), 28 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

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