序曲
假設現在有乙個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檔案中
QTP中DataTable物件的方法
1 addsheet 方法 描述 向執行時資料表中新增指定 工作 表並返回該工作表,以便可以直接在同一語句中設定新工作表的屬性。語法 datatable.addsheet sheetname 示例 以下示例先使用 addsheet 方法在執行時資料表中新建工作表 mysheet 然後向新工作表中新增...
QTP的那些事 有關datatable物件的使用
注意我們在使用datatable的時候,如果採用的指令碼驅動的方式,那麼獲取行數的時候要注意了.一般有的人會採用datatable.getrowcount方法直接獲取行數,也認為可以獲取到當前的sheet的行數,實際則不然。實際是,上面的方法獲取的是globalsheet中的行數,而對於我們想要獲取...
DataTable 操作集合
region 根據datatable獲得列名 public static string getcolumnsbydatatable datatable dt 根據datatable獲得列名 表物件 返回結果的資料列陣列 public static string getcolumnsbydatatab...