【QTP专题】05_参数化之Excel

QTP使用外部Excel实现参数化主要有以下两种方式

  • 导入到DataTable中 

 Syntax:DataTable.ImportSheet(FileName, SheetSource, SheetDest)

   FileName:文件路径名

  SheetSource:待导入Excel文件的sheet名称或序号

  SheetDest:QTP中DataTable中sheet名称或序号

 

参考案例:

复制代码
Dim filePath '工作表所在文件路径;
Dim strDataSheet 'QTP中DataTable内待倒入的sheet的名称  filePath= "d:\data.xls" strDataSheet = DataTable.GlobalSheet.Name DataTable.ImportSheet filePath ,1 ,strDataSheet '第二个参数:1表示excel的第一个sheet,也可以用sheet名称代替;第三个参数同理
复制代码

 Excle中数据倒入到DataTable中后,执行从DataTable中读取数据的操作,具体操作参考 【QTP专题】05_参数化之DataTable

  • 利用com操纵Excel

复制代码
Option Explicit
' =================================================
' 函数说明:获取Excel工作表中单元格的值 ' 参数说明: ' (1)filePath:工作表所在文件路径; ' (2)excelSheet:工作表名称; ' (3)colName:列名; ' (4)row:行的序号; ' 返回结果:返回单元格的值 ' 调用方法:userName=getCellValue (filePath,"loginUser","用户名",2) ' ================================================= Function getCellValue(filePath,excelSheet,colName,row) Dim ObjExcel,excBook,excSheet,cellValue Set ObjExcel = CreateObject ("Excel.Application") ObjExcel.Visible = False 'Excel程序不在前台显示 Set excBook = ObjExcel.WorkBooks.Open(filePath) '打开参数filePath指定的excel文件工作簿 Set excSheet=excBook.Worksheets(excelSheet) '名为参数excelSheet的工作表 colNum= excSheet.UsedRange.Columns.Count '获取工作表的列数 Dim i,col For i=1 to colNum '循环工作表中所有列 If excSheet.Cells(1,i).Value = colName Then '如果列名为参数colName col=i '将该列名所在列号赋给变量col End If Next cellValue = excSheet.Cells(row,col).Value '将单元格(row,col)中的值赋予变量cellValue getCellValue = cellValue '将单元格的值赋予函数本身,表示调用函数时的返回值 'Excel退出,释放资源  ObjExcel.WorkBooks.Close ObjExcel.Quit Set ObjExcel = Nothing Set excelBook = Nothing End Function
复制代码

转载于:https://www.cnblogs.com/pansfy/articles/3927913.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值