Algorithmus zum Ermitteln des Excel-ähnlichen Spaltennamens einer ZahlPhp

PHP-Programmierer chatten hier
Guest
 Algorithmus zum Ermitteln des Excel-ähnlichen Spaltennamens einer Zahl

Post by Guest »

Ich arbeite an einem Skript, das einige Excel-Dokumente generiert, und ich muss eine Zahl in den entsprechenden Spaltennamen umwandeln. Zum Beispiel:

Code: Select all

1 => A
2 => B
27 => AA
28 => AB
14558 => UMX
Ich habe dafür bereits einen Algorithmus geschrieben, würde aber gerne wissen, ob es einfachere oder schnellere Möglichkeiten gibt, dies zu tun:

Code: Select all

function numberToColumnName($number){
$abc = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
$abc_len = strlen($abc);

$result_len = 1; // how much characters the column's name will have
$pow = 0;
while( ( $pow += pow($abc_len, $result_len) ) < $number ){
$result_len++;
}

$result = "";
$next = false;
// add each character to the result...
for($i = 1; $i= 0; $n = intval($n / 26) - 1)
$r = chr($n%26 + 0x41) . $r;
return $r;
}

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post