2013-01-21 2 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에서 : "(...) Worksheet에 처음 몇 줄을 생략해야하는지 알 수 있습니다. 다음 행은 이전 행에 데이터가 있는지 여부에 관계없이 3 행에서 시작됩니다. "

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

그래서이 경우에 다음과 같은 작업을해야합니다 :

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

일을. 나는 'each'에 매개 변수를 두는 것은 직관적이지 않습니다. –

+0

@ theTinMan 동의합니다. 적어도, 의사는'each (skip_lines = 0)'와 같은 것을 써야합니다. – steenslag

0

시도 :

[1..-1] 조각 sheet.each 모든 나머지를 반환 [0]에서 첫 번째 값을 건너 뛰고, 반복 것이라는 배열 또는 열거를 사용
book.worksheets.each do |sheet| 
    sheet[1..-1].each do |row| 
    ... 

.

관련 문제