51Testing软件测试论坛

标题: 使用Datatable.exportsheet 函数输出data table中的sheet到外部excel文件报错 [打印本页]

作者: superchao    时间: 2008-4-1 15:39
标题: 使用Datatable.exportsheet 函数输出data table中的sheet到外部excel文件报错
软件版本 QTP9.2(Java Add-in9.1, ActiveX9.2,web add-in 9.2)
我在我的测试脚本中,首先读入测试的数据excel表格到datatable里面,然后把每个数据的测试结果写入datatable中的一个sheet里面,最后测试完后,使用Datatable.exportsheet 来把测试结果输出到一个excel表格里面,可是非常奇怪的是,有时候输出会出错,而且就发生在使用某些测试数据表格(我有几个测试数据excel表格),其表现形式为:
(1)输出时候报general error
(2) 输出的excel文件无法打开
(3)输出的excel文件可以打开,但是发现文件数据内容只输出了一部分,不完整

我做了几种测试

(1)使用 类似的函数 叫DataTable.Export来输出所有datatable,进行对比,这个函数总是正常,不会出现问题
(2)把exportsheet函数 调整到我的importsheet函数后面,也就是一读入数据就输出(中间不执行任何测试代码),发现问题同样存在

不知道哪位高手可以指点,感觉qtp的exportsheet函数有bug
作者: xiaonan    时间: 2008-4-8 16:30
那直接 用这个 datatable.Export("C:\1.xls")
作者: superchao    时间: 2008-4-9 12:32
谢谢 是的 我现在就用datatable.Export("C:\1.xls") 来替代 Datatable.exportsheet 函数

不过 有否哪位高手可以告知这个问题的原因 呵呵
作者: mustwangrong    时间: 2008-4-9 17:21
标题: 回复 3# 的帖子
偶是菜鸟,想知道答案~
作者: phillipschen    时间: 2008-6-27 10:35
datatable.export "C:\test.xls"是将整个datatable中的所有sheets都导出到Excel中,但是有时候我们只需要datatable中的一个sheet的内容,因此用datatable.exportsheet,QTP帮助中描述的是"DataTable.ExportSheet "C:\name.xls" ,1",这个1可以用自己定义的Action的名字来代替,比如我们把Action1命名为test1那么导出语句可以写成"DataTable.ExportSheet "C:\name.xls" ,"test1""

[ 本帖最后由 phillipschen 于 2008-6-27 10:57 编辑 ]
作者: aviofans    时间: 2010-1-5 17:26
我也遇到了这个问题,我的是QTP10,记得好像以前用8的时候没有这个问题,郁闷啊!
同求原因及解决办法,谢谢!!!
作者: joseph_wh    时间: 2010-1-5 18:18
在运行时有没有未关闭的excel?
作者: aviofans    时间: 2010-1-6 10:19
重启机器后问题不再发生了,估计是某个进程和excel有关吧。




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2