Class: ExcelXml::Worksheet

Inherits:
Object
  • Object
show all
Includes:
HappyMapper
Defined in:
lib/excelxml/worksheet.rb

Defined Under Namespace

Classes: Parser

Instance Method Summary collapse

Instance Method Details

#rowsObject



13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
# File 'lib/excelxml/worksheet.rb', line 13

def rows
  @grid ||= begin
    grid = Array.new(table.row_count) { Array.new(table.column_count) }
    grid_row_idx = -1
    table.rows.each_with_index do |row, row_idx|
      grid_row_idx = row.index ? row.index - 1 : grid_row_idx + 1
      grid_col_idx = -1
      row.cells.each_with_index do |cell, cell_idx|
        grid_col_idx = cell.index ?  cell.index - 1 : grid_col_idx + 1
        (0..cell.merge_down).each do |down|
          (0..cell.merge_across).each do |across|
            grid[grid_row_idx+down][grid_col_idx+across] = Field.new(cell.data || "")
          end
        end
        grid_col_idx += cell.merge_across
      end
    end
    grid
  end
end