shuishixingyu 发表于 2008-12-25 09:30:03

如何读取EXCEL中的部分内容?



我想读取表头中的220KV,请问应如何写脚本,因为要上传不同的excel,220kv是个变化的数值,谢谢

david208 发表于 2008-12-25 10:10:54

导入的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:11

楼主的问题其实是如何解析字符串。
可以将读取到的表头字符串以“_”分隔,这样会得到220kv和“投标报价单”两个字串,然后我们只把第一个字串取出来即可。我这里写一段简单的代码可以参考一下:
str = "kv220_投标报价单"
b = Split(a,"_") '使用split函数将指定的字符串分割成“kv200”和“投标报价单”两部分
msgbox b(0)

david208 发表于 2008-12-25 14:17:12

原帖由 dreamever 于 2008-12-25 11:57 发表 http://bbs.51testing.com/images/common/back.gif
楼主的问题其实是如何解析字符串。
可以将读取到的表头字符串以“_”分隔,这样会得到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
dountil 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:25

谢谢

谢谢两位的热心帮助,我现在去试下

dreamever 发表于 2008-12-25 16:44:58

原帖由 david208 于 2008-12-25 14:17 发表 http://bbs.51testing.com/images/common/back.gif

感谢这位兄台
这是我改进过的程序
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) = ...
这可以说是最完美的答案了,呵呵
页: [1]
查看完整版本: 如何读取EXCEL中的部分内容?