php生成excle表头
/**
* 自动生成excle表头
* @param int $num
* @return json 返回['A','B'...'AB','AC'...'BA','BB']
*/
public function generateExcleHead($number){
$num = $number;
$begin = 'A'; //从A开始
$jj = 0;
$nn = 0;
$aLetter = [];
// char_list [A...Z];
for($sii=0;$sii<26;$sii++){
$char=chr(65+$sii);
$char_list[$sii]=$char;
}
for($i=0;$i<=$num;$i++){
$beginstr = ord($begin); //65
$cel = chr($beginstr+$i);
if($beginstr+$i <= 90){
//列数小于26,Z字母的ASCII是90
$aLetter[]=$cel;
}
if($beginstr+$i > 90){// 大于Z,
$startnum = '65'; // A
$kkk=((int)$jj/26); //0
$cel = chr($startnum +$nn); //A
$aLetter[] = $char_list[$kkk].$cel;
$nn++;
if($nn>25){
$nn=0;
}
$jj++;
}
}
return json($aLetter);
}
测试结果:
http://127.0.0.1/index.php/api/index/generateExcleHead?number=10
http://127.0.0.1/index.php/api/index/generateExcleHead?number=60