//数字行列转换成excel的字母+数字格式单元格位标,$cross—横,$vertical—竖
function num2excel($cross = 1, $vertical = 1) {
if (! is_numeric ( $cross ) || ! is_numeric ( $vertical )) {
return false;
}
//ord('A') = 65;ord('Z') = 90;因为A=1,所以要从64加起
$digit1 = $cross % 26;
$digit1 = $digit1?$digit1:26;
$digit2 = floor(($cross-$digit1)/26);
$sign = array(chr(64+$digit1));
if ($digit2){
array_unshift($sign,chr(64+$digit2));
}
$sign = implode('',$sign);
return $sign.(string)$vertical;
}
function num2excel($cross = 1, $vertical = 1) {
if (! is_numeric ( $cross ) || ! is_numeric ( $vertical )) {
return false;
}
//ord('A') = 65;ord('Z') = 90;因为A=1,所以要从64加起
$digit1 = $cross % 26;
$digit1 = $digit1?$digit1:26;
$digit2 = floor(($cross-$digit1)/26);
$sign = array(chr(64+$digit1));
if ($digit2){
array_unshift($sign,chr(64+$digit2));
}
$sign = implode('',$sign);
return $sign.(string)$vertical;
}
本文介绍了一个将数字形式的行列号转换为Excel中使用的字母加数字形式的单元格坐标的方法。该方法通过简单的数学运算实现,适用于需要进行此类坐标转换的应用场景。

2658

被折叠的 条评论
为什么被折叠?



