Module: AxlsxReport::ColumnNameConv

Extended by:
ColumnNameConv
Included in:
Base, ColumnNameConv
Defined in:
lib/axlsx_report/column_name_conv.rb

Instance Method Summary collapse

Instance Method Details

#column_name_to_num(name) ⇒ Object

‘Z’ => 25 ‘AA’ => 26



7
8
9
10
11
12
13
14
15
16
# File 'lib/axlsx_report/column_name_conv.rb', line 7

def column_name_to_num(name)
  num = 0
  name.upcase.each_char do |c|
    num *= 26 if num > 0
    add = c.ord - "A".ord + 1
    raise "Invalid symbol in Excel column name: '#{c}'" if add < 1 || add > 26
    num += add
  end
  num - 1
end

#column_num_to_name(num) ⇒ Object

1 => ‘А’ 26 => ‘Z’ 27 => ‘AA’ 28 => ‘АB’



22
23
24
25
26
27
28
29
30
# File 'lib/axlsx_report/column_name_conv.rb', line 22

def column_num_to_name(num)
  name = ""
  while num > 0
    nm = (num - 1) % 26
    num = (num - 1) / 26
    name << ("A".ord + nm).chr
  end
  name.reverse
end