一般我們?cè)赪atir中實(shí)現(xiàn)data driven時(shí),是依靠ruby的file函數(shù)。下面是如何使用excel文件進(jìn)行data-driven的。
	打開文件需要首先
	require 'win32ole'
	然后打開文件
	excel = WIN32OLE::new('excel.Application')
	workingbook = excel.Workbooks.Open('d:
ubycode	est.xlsx')
然后選擇需要的sheet
	#依據(jù)sheet的名稱選擇
	workingsheet = workingbook.Worksheet('test')
	#或者依據(jù)順序號(hào)選擇
	workingsheet = workingbook.Worksheets(1)
	#激活可以用select
	workingsheet.Select
	#也可以用Activate
	workingsheet.Actviate
然后選擇你需要的數(shù)據(jù)
	#第一個(gè)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
	#第一列第一個(gè)到第三列第三個(gè),即a1,a2,a3,b1,b2,b3,c1,c2,c3
	worksheet.Range('a1:c3').Value
	#判斷第一列的非空行數(shù)(注意,返回的是第一個(gè)空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
寫入數(shù)據(jù)
	#單個(gè)數(shù)據(jù)
	worksheet.Range('e2').Value= 'test'
	#數(shù)組值
	worksheet.Range('a5:c5').Value = ['more', 'than', 'one']
然后存儲(chǔ)
	workbook.Close(1)
	#對(duì)應(yīng)的是第一個(gè)按鍵
	 
	workbook.SaveAs 'mytest.xls'
	# 默認(rèn)路徑是"My Documents"
	關(guān)閉文件
	excel.Quit
注意,操作時(shí)不要打開目標(biāo)文件。
	更多的關(guān)于excel的操作,可以參考:
	http://msdn.microsoft.com/zh-cn/library/ff841127(v=office.14).aspx