51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 1982|回复: 2
打印 上一主题 下一主题

[求助] 关于DataTable输出到Excel中的问题

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2009-10-20 14:46:25 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
恳请大家不吝赐教!个人编写代码如下,请问如何才能将Action1的Sheet数据输出到Excel中而不是Global的数据?系统默认对Global的数据进行读取操作且重复两次??
从DataTable中读取写入Excel
Dim xlApp,xlFile,xlSheet
Dim iRowCount,iLoop,jLoop,numAdd(6),record

Set xlApp=CreateObject("Excel.Application")
Set xlFile=xlApp.Workbooks.Open("D:\data.xls")
Set xlSheet=xlFile.Sheets("Sheet1")
iRowCount=DataTable.GetSheet("Global").GetRowCount         '行数量
For iLoop = 1 To iRowCount
  DataTable.SetCurrentRow(iLoop)
  for jLoop = 1 To 6
      numAdd(jLoop)= DataTable(jLoop,1)
      xlSheet.Cells(iLoop,jLoop)=numAdd(jLoop)
     Next
Next
xlFile.Save
xlFile.Close
xlApp.Quit
Set xlSheet = Nothing
Set xlSheet2 = Nothing
Set xlFile = Nothing
Set xlApp = Nothing
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
发表于 2009-10-20 15:07:53 | 只看该作者
你确定是自己写。。。既然要输出Action1的数据为何到处都是Global的影子。。。将他们都改成Action1就可以了
iRowCount=DataTable.GetSheet("Action1").GetRowCount         '行数量
For iLoop = 1 To iRowCount
  DataTable.GetSheet("Action1").SetCurrentRow(iLoop)
  for jLoop = 1 To 6
      numAdd(jLoop)= DataTable(jLoop,"Action1")

另外,如果要把DTSheet中的数据全导出,一般会去使用
DataTable.ExportSheet "D:\data.xls" ,”Action1“

你的run setting中默认设置了Run on all rows,于是你Globalsheet中有几行数据,脚本就会重复执行几次
回复 支持 反对

使用道具 举报

该用户从未签到

3#
 楼主| 发表于 2009-10-20 15:35:16 | 只看该作者
谢谢,谢谢啊,赶紧楼上的弟兄:)
回复 支持 反对

使用道具 举报

本版积分规则

关闭

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

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

GMT+8, 2024-11-23 08:58 , Processed in 0.079120 second(s), 27 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

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