您的位置:首页 > 编程语言 > Qt开发

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

2014-04-20 17:57 302 查看
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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: