序曲
假设现在有一个Excel文件:D:\data.xls,里面的具体内容如下:有两个Sheet,第一个叫Login,第二个叫InsertOrder;
当前QTP的Test中有两个Action:LoginAction和InsertAction。当然该Test中对应的DataTable应该有三个:Global、LoginAction和InsertAction;
下面就详细的说一下DataTable是如何操作这些数据的:
正文
DataTable.Import "D:\data.xls" '将data.xls中第一个叫Login表单内容导入到Test的Global表单中,将InsertOrder表单的内容导入到Test的LoginAction表单中,依次类推;感觉怪怪的,所以这个方法比较适合只导入Excel中第一个表单的内容
DataTable.ImportSheet "D:\data.xls","Login","LoginAction"'将data.xls文件中的Login表单内容导入到当前Test的LoginAction表单中
DataTable.GetSheet("Global").SetNextRow'设置下一行,红色表示要操作的表单名字
columnCount =
DataTable.GetSheet("Global").GetParametercount'取得Global表单中的总列数
DataTable.GetSheet("Global").DeleteParameter
("列名")'运行时向Global表单中删除列
DataTable.GetSheet("Global").SetPrevRow'设置上一行
cellValue =
DataTable.GetSheet("Global").GetParameter("列名")'取得Global表单中某列的值,可以这样写:DataTable.Value("列名","表单名字"),我喜欢这种写法
rowCount
= DataTable.GetSheet("Global").GetRowCount'取得Global表单中的总行数
DataTable.GetSheet("Global").SetCurrentRow(3)'设置当前行为第3行
DataTable.Value ("列名", "表单名字")="twf"'运行时设置某列值,例如DataTable.Value ("username",
"LoginAction")="twf"
DataTable.Export "D:\result.xls"'将当前Test的所有表单(LoginAction和InsertOrderAction、Global)中的所有内容全部导出到result.xls中
DataTable.ExportSheet "D:\result.xls","LoginAction"'将当前Test的LoginAction表单中的内容导出到D:\result.xls文件中