Watir Web Driver 对excel 文件的操作

上一篇 / 下一篇  2013-03-05 15:56:23 / 个人分类:测试

一般我们在Watir中实现data driven时,是依靠ruby的file函数。下面是如何使用excel文件进行data-driven的。

打开文件需要首先 
require 'win32ole'

然后打开文件
excel = WIN32OLE::new('excel.Application')
workingbook = excel.Workbooks.Open('d:\rubycode\test.xlsx')

然后选择需要的sheet

#依据sheet的名称选择
workingsheet = workingbook.Worksheet('test') 

#或者依据顺序号选择
workingsheet = workingbook.Worksheets(1) 

#激活可以用select
workingsheet.Select
#也可以用Activate
workingsheet.Actviate

然后选择你需要的数据

#第一个cell的值
workingsheet.Range('a1').Value

#第一列的1-10的值
worksheet.Range('a1:a3').Value

#第一行的a-g的值
worksheet.Range('a1:b1:c1:d1:e1:f1:g1').Value
或者
worksheet.Range('a1:g1').Value

#任意cell的值
worksheet.Range('a1:b2:c3:d4:e5:f2:g9').Value

#第一列第一个到第三列第三个,即a1,a2,a3,b1,b2,b3,c1,c2,c3 
worksheet.Range('a1:c3').Value

#判断第一列的非空行数(注意,返回的是第一个空cell)
line=1
cells='a1'
while worksheet.Range(cells).Value
line=line+1
cells='a'+line.to_s
end

#列出第一列的非空cell
line=line-1
cells='a'+line.to_s

if cells == 'a1'
rows='a1'
else
rows='a1:'+cells
end
celldata = worksheet.Range(rows).Value 
puts cell data

写入数据

#单个数据
worksheet.Range('e2').Value= 'test' 
#数组值
worksheet.Range('a5:c5').Value = ['more', 'than', 'one'] 

然后存储

workbook.Close(1)
#对应的是第一个按键
 
workbook.SaveAs 'mytest.xls'
# 默认路径是"My Documents"

关闭文件
excel.Quit

注意,操作时不要打开目标文件。

更多的关于excel的操作,可以参考:
http://msdn.microsoft.com/zh-cn/library/ff841127(v=office.14).aspx



TAG:

 

评分:0

我来说两句

日历

« 2024-04-19  
 123456
78910111213
14151617181920
21222324252627
282930    

数据统计

  • 访问量: 150481
  • 日志数: 185
  • 文件数: 6
  • 建立时间: 2007-08-06
  • 更新时间: 2015-01-06

RSS订阅

Open Toolbar