Php 将数字转换为excel的字符串

Php 将数字转换为excel的字符串,php,string,phpexcel,Php,String,Phpexcel,我需要根据excel列命名方案将整数(列数)转换为字符串,如下所示: 1 => A 2 => B 25 => Z 26 => AA 28 => AC 51 => BA 您知道在php中有一种智能且无痛苦的方法吗?或者我应该开始编写自己的自定义函数吗?您可以通过一个简单的循环来实现: $number = 51; $letter = 'A'; for ($i = 1; $i <= $number; ++$i) { ++$letter; } echo

我需要根据excel列命名方案将整数(列数)转换为字符串,如下所示:

1 => A
2 => B
25 => Z
26 => AA
28 => AC
51 => BA

您知道在php中有一种智能且无痛苦的方法吗?或者我应该开始编写自己的自定义函数吗?

您可以通过一个简单的循环来实现:

$number = 51;
$letter = 'A';
for ($i = 1; $i <= $number; ++$i) {
    ++$letter;
}
echo $letter;
$number=51;
$letter='A';

对于($i=1;$i),使用纯PHP也可以非常轻松地完成:

function getCellFromColnum($colNum) {
    return ($colNum < 26 ? chr(65+$colNum) : chr(65+floor($colNum/26)-1) . chr(65+ ($colNum % 26)));
}
函数getCellFromColnum($colNum){ 返回($colNum<26)chr(65+$colNum):chr(65+下限($colNum/26)-1.chr(65+($colNum%26)); }
更正了51Excellent answer的值!我一直知道我可以在php中增加字符串,但我从来没有想到它会以与excel相同的方式增加。非常感谢。如果我写了这篇文章,大约需要100行代码(:
function getCellFromColnum($colNum) {
    return ($colNum < 26 ? chr(65+$colNum) : chr(65+floor($colNum/26)-1) . chr(65+ ($colNum % 26)));
}