Module: Rrxcell::Addressing
- Defined in:
- lib/rrxcell/addressing.rb
Constant Summary collapse
- ALPHABET_CHARCTORS =
26
Class Method Summary collapse
- .cell_address_to_column_position(cell_address) ⇒ Object
- .cell_address_to_row_column_position(cell_address) ⇒ Object
- .cell_address_to_row_position(cell_address) ⇒ Object
- .cell_address_to_sheet_position(cell_address, book = nil) ⇒ Object
- .cell_address_to_sheet_row_column_position(cell_address, book = nil) ⇒ Object
Class Method Details
.cell_address_to_column_position(cell_address) ⇒ Object
5 6 7 8 9 10 11 12 13 14 15 16 |
# File 'lib/rrxcell/addressing.rb', line 5 def cell_address_to_column_position(cell_address) v = 0 factor = 1 column_string(cell_address).reverse.each_char do |char| _v = char.downcase.ord - "a".ord + 1 v += ((_v * factor) - 1) factor += ALPHABET_CHARCTORS end v end |
.cell_address_to_row_column_position(cell_address) ⇒ Object
18 19 20 21 22 23 |
# File 'lib/rrxcell/addressing.rb', line 18 def cell_address_to_row_column_position(cell_address) [ cell_address_to_row_position(cell_address), cell_address_to_column_position(cell_address) ] end |
.cell_address_to_row_position(cell_address) ⇒ Object
25 26 27 |
# File 'lib/rrxcell/addressing.rb', line 25 def cell_address_to_row_position(cell_address) row_string(cell_address).to_i - 1 end |
.cell_address_to_sheet_position(cell_address, book = nil) ⇒ Object
29 30 31 32 |
# File 'lib/rrxcell/addressing.rb', line 29 def cell_address_to_sheet_position(cell_address, book = nil) validate_book!(book) book.sheet_names.index(sheet_string(cell_address)) end |
.cell_address_to_sheet_row_column_position(cell_address, book = nil) ⇒ Object
34 35 36 37 38 39 40 |
# File 'lib/rrxcell/addressing.rb', line 34 def cell_address_to_sheet_row_column_position(cell_address, book = nil) validate_book!(book) [ cell_address_to_sheet_position(cell_address, book), cell_address_to_row_column_position(cell_address) ].flatten end |