fork download
  1. def parse_excel_row_id(string)
  2. row_num = 0
  3. string.each_char do |alpha|
  4. row_num = row_num * 26 + (alpha.ord - 'A'.ord + 1)
  5. end
  6.  
  7. return row_num
  8. end
  9.  
  10.  
  11. printf "'A' --> %d", parse_excel_row_id('A')
  12. puts
  13. printf "'AA' --> %d", parse_excel_row_id('AA')
  14. puts
  15. printf "'AAA' --> %d", parse_excel_row_id('AAA')
  16. puts
  17. printf "'ZZZ' --> %d", parse_excel_row_id('ZZZ')
  18. puts
  19.  
Success #stdin #stdout 0.05s 9616KB
stdin
Standard input is empty
stdout
'A'   --> 1
'AA'  --> 27
'AAA' --> 703
'ZZZ' --> 18278