51Testing软件测试论坛

标题: QTP创建Excel文档问题 [打印本页]

作者: andyclock    时间: 2014-10-28 13:41
标题: QTP创建Excel文档问题
最近个项目要用到qtp导出数据到excel, 网上找了些资料, 试了下发现个问题
Set excelApp=CreateObject("excel.application")
excelApp.Workbooks.Add
....... (中间省略写入内容代码)
excelApp.ActiveWorkbook.SaveAs "C:\temp\test.xls"

脚本执行后去到保存路径打开文件会报“文件格式和后缀名格式不一致类似错误”,写入的内容倒是保存成功,但是这样的话用qtp再去读取excel数据就失败了, excel是2007版, qtp是UFT11.5 , 有没有谁碰到类似问题如何解决? 目前我只能先手动创建个97-2003工作簿,然后往里写数据。。。

作者: 赵佳乐SMILE    时间: 2014-10-29 09:46
先手动解决也挺好的
1.查查 是否有参数可以设置保存的模式
2.看看Excel 是否可以设置默认保存的模式

我没用过导出到Excel  也就只能想这么多
作者: andyclock    时间: 2014-10-29 11:04
解决了,说说思路,之前想到SaveAs 有格式参数。。。但是不知道怎么去表达,开始搜索qtp关键字没找到具体相关资料,都是常用操作, 今天早上搜索vb script关键字,在csdn找到一个帖子
[url=]http://bbs.csdn.net/topics/390319174[/url]看到fileformat是 xlExcel8, 但是qtp脚本里貌似不支持5楼的这种表达方式,于是看到楼下,说用参数39, 但39是xlExcel7, qtp脚本跑下来格式是对了,但是再用脚本去读还是无法认出,对比文件大小xlExcel8 比 xlExcel7大了几k, 于是再搜关键字xlExcel8,看到一个帖子 [url=]http://www.exceltip.net/thread-17143-1-1.html[/url], 看到xlNormal format可以替代 xlExcel8,再回看之前那个贴找到 xlWorkbookNormal  -4143

于是excelApp.ActiveWorkbook.SaveAs "C:\temp\test.xls",-4143便可解决

略有遗憾的是saveAs貌似不支持相对路径保存。。




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