2013-01-21 34 views
2

我想從Excel XLS電子表格導入一些數據。電子表格寶石中的Ruby跳轉標題

我以前只使用CSV文件,並知道如何跳過第一行,這是一個標題。

如何用XLS文件做到這一點?

我有這樣的代碼:

require 'spreadsheet' 
ook = Spreadsheet.open("/#{Rails.public_path}/uploads_prices/"+name) 
book.worksheets.each do |sheet| 
     sheet.each do |row| 
***** 

如何跳過第一個條目,這是頭?

回答

4

doc:「(...)你可以告訴工作表在開始時應該省略多少行,下面從第3行開始,不管它是否包含任何數據: 「

sheet2.each 2 do |row| 
    # do something interesting with a row 
end 

因此,對於這種情況下,下面應該工作:

book.worksheets.each do |sheet| 
    sheet.each 1 do |row| 
    #... 
+0

+1。我得說,把參數放在'each'上並不直觀。 –

+0

@theTinMan我同意。至少,文件應該說明:'each(skip_lines = 0)'。 – steenslag

0

嘗試:

book.worksheets.each do |sheet| 
    sheet[1..-1].each do |row| 
    ... 

使用[1..-1]片的陣列或枚舉該sheet.each會重複,在[0]跳過第一個值,返回所有的休息。