souchy 发表于 2010-4-26 16:16:44

导入Excel数据到dtlocalsheet时,本地DataTable名称应该如何表示?『已解决』

DataTable.ImportSheet(FileName, SheetSource, SheetDest)

FileNameStringThe full path of the Excel table from which you want to import a sheet. It can be a file system or Quality Center path.
SheetSourceVariantThe name or index of the sheet in the file that you want to import. Index values begin with 1.
SheetDestVariantThe name or index of the sheet in the Data Table that you want to replace with the SheetSource. Index values begin with 1.

如果被调用的脚本中含有 外部数据导入的操作(脚本中我用的是localsheet本地表),当其被调用时就会出现了个问题:
用指定本地表名称,如 Login,则被调用时指定名称会变为 Login,而用索引值2,又会将内容都导入到主调脚本的本地表中去

因而,我就有几个问题想请教下大家:
1.被调脚本中是否可以进行 外部数据导入到其本地表的操作?(因为被调用时其本地表是不可编辑的,所以不太确定)
2.如果第一个问题的回答是肯定的,那么想实现导入到本地表应该用什么名称?全局表用参数Global就行,但本地表用什么就不清楚了,我把local,localsheet,dtlocalsheet都试了一遍,好像都不对

[ 本帖最后由 souchy 于 2010-4-28 10:47 编辑 ]

souchy 发表于 2010-4-26 16:20:20

其实我主要想实现导入数据时各脚本之间所用的表都是独立的目的,自动化的先驱们都是如何设计这个过程的?

souchy 发表于 2010-4-28 10:47:21

自力更生!!

今天自己找到了解决办法,其实也就是对QTP的不熟悉才会有如此多的困扰!
解决办法:
sheetName= DataTable.GetSheet(dtlocalsheet).Name
DataTable.ImportSheet "..\..\Data"&"\cardno.xls","cardno",sheetName

这样就解决了本地DataTable名称的获取问题,被调用时也就能正确识别到每个被调脚本的本地表,同时也证明了一点,被调脚本中是可以导入外部数据的
页: [1]
查看完整版本: 导入Excel数据到dtlocalsheet时,本地DataTable名称应该如何表示?『已解决』