lib/spreadsheet/worksheet.rb
def each(skip=dimensions[0], &block)
      rows = skip.upto(dimensions[1] - 1).map { |index| row(index) }.to_enum

      if block_given?
        rows.each(&block)
      else
        rows
      end
    end
def each(skip=dimensions[0], &block)
      rows = skip.upto(dimensions[1] - 1).map { |index| row(index) }.to_enum

      if block_given?
        rows.each(&block)
      else
        rows
      end
    end
def each ( skip = dimensions [ 0 ] , & block ) rows = skip . upto ( dimensions [ 1 ] - 1 ) . map { | index | row ( index ) } . to_enum if block_given? rows . each ( block ) else rows end end
If no argument is given, #each iterates over all used Rows (from the first
 used Row until but omitting the first unused Row, see also #dimensions).

 If the argument skip is given, #each iterates from that row until but
 omitting the first unused Row, effectively skipping the first _skip_ Rows
 from the top of the Worksheet.
If no argument is given #each iterates over all used Rows ( from the first used Row until but omitting the first unused Row see also #dimensions ) .