51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 2210|回复: 5
打印 上一主题 下一主题

[原创] 如何读取EXCEL中的部分内容?

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2008-12-25 09:30:03 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式


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

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?(注-册)加入51Testing

x
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
发表于 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 编辑 ]
回复 支持 反对

使用道具 举报

该用户从未签到

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

使用道具 举报

该用户从未签到

4#
发表于 2008-12-25 14:17:12 | 只看该作者
原帖由 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 编辑 ]
回复 支持 反对

使用道具 举报

该用户从未签到

5#
 楼主| 发表于 2008-12-25 15:56:25 | 只看该作者

谢谢

谢谢两位的热心帮助,我现在去试下
回复 支持 反对

使用道具 举报

该用户从未签到

6#
发表于 2008-12-25 16:44:58 | 只看该作者
原帖由 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) = ...

这可以说是最完美的答案了,呵呵
回复 支持 反对

使用道具 举报

本版积分规则

关闭

站长推荐上一条 /1 下一条

小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

GMT+8, 2024-11-28 02:44 , Processed in 0.067917 second(s), 26 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

快速回复 返回顶部 返回列表