51Testing软件测试论坛

标题: 小弟有一个关于EXCEL的问题 [打印本页]

作者: skyhen    时间: 2006-8-28 17:34
标题: 小弟有一个关于EXCEL的问题
Dim conn,input,filename
Set Res=createobject("adodb.recordset")
Set conn= createobject("ADODB.Connection")
conn.Open "DBQ=C:\aaa.xls;DefaultDir=C:\;Driver={Driver do Microsoft Excel(*.xls)};DriverId=790;FIL=excel 8.0;FILEDSN=C:\Program Files\Common Files\ODBC\Data Sources\EXCEL.dsn;MaxBufferSize=2048;MaxScanRows=8;PageTimeout=5;ReadOnly=1;SafeTransactions=0;Threads=3;UserCommitSync=Yes;"
sql= "select  *   from [sheet1$]"  
res.open sql,conn,2,2

Dim fso, myfile
Set fso=CreateObject("Scripting.FileSystemObject")
Set MyFile = fso.CreateTextFile("c:\result.txt", True)
MyFile.Close
Set myfile=fso.openTextFile("C:\result.txt",8,false)
While Not Res.eof
     For i=0 to 16
                    if Res(i)<>" " Then
                        myfile.writeline Res(i)
                        else
           myfile.writeline "数据库中这列为空 "
                        end if
     next
     myfile.writeline " "
     Res.movenext   
wend
myfile.close
Set input=nothing
Set conn=Nothing
Set res = nothing

我用QTP调用EXCEL,将EXCEL的内容写入TXT文件中,但如果是中文的话,会出现问题,要么显示空白,要么显示0,请各位大虾给小弟一点建议,看看我的程序哪里还需要改进的。
我调用的EXCEL请见附件。
小弟先谢谢了
作者: xiaonan    时间: 2006-8-28 18:04
强制定义一下数据类型,还有要学会调试脚本,跟进去看
作者: skyhen    时间: 2006-8-29 12:49
我试过用CSTR来转换一下,但还是不行啊,请版主再给你指示
作者: xiaonan    时间: 2006-8-29 13:45
加断点或者msgbox去调试啊,Res(i)这边取出来的时候是怎样的,
作者: sinpa    时间: 2006-8-29 13:55
标题: 你用下面的方法导入到表里
DataTable.Import ("d:\aaa.xls")
这样你想怎么操作都可以阿
作者: BiSheng    时间: 2006-8-29 15:29
调试很长时间,没发现错。后来把EXCEL的第一行复制到第二、三行(修改了一些字段以区分),就好了。
作者: skyhen    时间: 2006-8-29 16:55
bisheng请问你在EXCEL中的二三行输入中文了吗?
我 用的是QTP8.2啊
我是中文无法写入到TXT文件中啊
还有sinpa你的那句话该加在哪里啊
小弟刚学QTP没多久啊
请再稍微指导一下,谢谢了
作者: BiSheng    时间: 2006-8-29 17:44
有中文,我只把1改成了2,把文字换换,楼主你的代码没有问题,可以再试试!




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