51Testing软件测试论坛

标题: 如何读取EXCEL中的部分内容? [打印本页]

作者: shuishixingyu    时间: 2008-12-25 09:30
标题: 如何读取EXCEL中的部分内容?
[attach]47981[/attach]

我想读取表头中的220KV,请问应如何写脚本,因为要上传不同的excel,220kv是个变化的数值,谢谢
作者: david208    时间: 2008-12-25 10:10
导入的XLS文件第一行会作为表的列名,所以最好将第一行置空
我写的只能取到220kv——投标报价表,至于只取220KV,水平有限,还不会
Dim p(9),i,input
i =1
sub put1(excelname)
Dim out1
datatable.ImportSheet excelname,1,"Global"  '
out1= datatable.GetSheet("Global").GetParameter("A")
p(i-1) = out1
end sub
Do
Input = InputBox("Enter excel name")
If   Input ="" Then
         Exit do
End If
call put1("D:\"&input)
i=i+1
Loop

[ 本帖最后由 david208 于 2008-12-25 10:45 编辑 ]
作者: dreamever    时间: 2008-12-25 11:57
楼主的问题其实是如何解析字符串。
可以将读取到的表头字符串以“_”分隔,这样会得到220kv和“投标报价单”两个字串,然后我们只把第一个字串取出来即可。我这里写一段简单的代码可以参考一下:
str = "kv220_投标报价单"
b = Split(a,"_") '使用split函数将指定的字符串分割成“kv200”和“投标报价单”两部分
msgbox b(0)
作者: david208    时间: 2008-12-25 14:17
原帖由 dreamever 于 2008-12-25 11:57 发表
楼主的问题其实是如何解析字符串。
可以将读取到的表头字符串以“_”分隔,这样会得到220kv和“投标报价单”两个字串,然后我们只把第一个字串取出来即可。我这里写一段简单的代码可以参考一下:
str = "kv220_投标 ...

感谢这位兄台
这是我改进过的程序
Dim p(9),i,input
i =1
sub put1(excelname)
Dim out1
datatable.ImportSheet excelname,1,"Global"  '
out1= datatable.GetSheet("Global").GetParameter("A")
p(i-1) = out1
end sub
Do
Input = InputBox("Enter excel name")
If   Input ="" Then
         Exit do
End If
call put1("D:\"&input)
i=i+1
Loop
Dim a ,q,m(9)
i = 0
do  until p(i)=""
q= split(p(i),"_",-1,1)
m(i)=q(0)
i =i+1
loop


m(i)内就是取到的数据

[ 本帖最后由 david208 于 2008-12-25 14:22 编辑 ]
作者: shuishixingyu    时间: 2008-12-25 15:56
标题: 谢谢
谢谢两位的热心帮助,我现在去试下
作者: dreamever    时间: 2008-12-25 16:44
原帖由 david208 于 2008-12-25 14:17 发表

感谢这位兄台
这是我改进过的程序
Dim p(9),i,input
i =1
sub put1(excelname)
Dim out1
datatable.ImportSheet excelname,1,"Global"  '
out1= datatable.GetSheet("Global").GetParameter("A")
p(i-1) = ...

这可以说是最完美的答案了,呵呵




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