Convert excel column alphabet (e.g. AA) to number (e.g., 25)

后端 未结 7 1800
余生分开走
余生分开走 2020-12-13 10:55

In my grid the column headers are named A,B,C...,AA,AB,AC,...etc like an excel spreadsheet. How can I convert the string to number like: A => 1, B =>

7条回答
  •  不思量自难忘°
    2020-12-13 11:15

    i just wrote a junk yard f@#$ snippet... need to be optimized.. :)

    charToNum = function(alpha) {
            var index = 0
            for(var i = 0, j = 1; i < j; i++, j++)  {
                if(alpha == numToChar(i))   {
                    index = i;
                    j = i;
                }
            }
            console.log(index);
        }
    
    numToChar = function(number)    {
            var numeric = (number - 1) % 26;
            var letter = chr(65 + numeric);
            var number2 = parseInt((number - 1) / 26);
            if (number2 > 0) {
                return numToChar(number2) + letter;
            } else {
                return letter;
            }
        }
    chr = function (codePt) {
            if (codePt > 0xFFFF) { 
                codePt -= 0x10000;
                return String.fromCharCode(0xD800 + (codePt >> 10), 0xDC00 + (codePt & 0x3FF));
            }
            return String.fromCharCode(codePt);
        }
    

    charToNum('A') => returns 1 and charToNum('AA') => returns 27;

提交回复
热议问题