Algorithm to get the excel-like column name of a number

后端 未结 10 1857
囚心锁ツ
囚心锁ツ 2020-11-30 18:08

I\'m working on a script that generate some Excel documents and I need to convert a number into its column name equivalent. For example:

1 => A
2 => B
         


        
10条回答
  •  野性不改
    2020-11-30 18:42

    Combining ircmaxell's recursive answer I've got this one:

    
        function getNameFromNumber($num, $index=0) {
            $index = abs($index*1); //make sure index is a positive integer
            $numeric = ($num - $index) % 26; 
            $letter = chr(65 + $numeric);
            $num2 = intval(($num -$index) / 26);
            if ($num2 > 0) {
                return getNameFromNumber($num2 - 1 + $index) . $letter;
            } else {
                return $letter;
            }
        }
    
    

    I'm using the default indexing as 0 based, but it can be any positive integer for when juggling with arrays in PHP.

提交回复
热议问题