class ExcelXml::Worksheet

Public Instance Methods

rows() click to toggle source
# 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