我们生成excel都会使用phpExcel类了,下面我来给大家介绍在生成excel列名超过26列大于Z问题解决办法吧。
这是phpExcel类中的方法。今天查到了,记录一下备忘。<?php
publicstaticfunctionstringFromColumnIndex($pColumnIndex=0)
{
//Usingalookupcacheaddsaslightmemoryoverhead,butboostsspeed
//cachingusingastaticwithinthemethodisfasterthanaclassstatic,
//thoughit'sadditionalmemoryoverhead
static$_indexCache=array();
if(!isset($_indexCache[$pColumnIndex])){
//Determinecolumnstring
if($pColumnIndex
$_indexCache[$pColumnIndex]=chr(65+$pColumnIndex);
}elseif($pColumnIndex
$_indexCache[$pColumnIndex]=chr(64+($pColumnIndex/26)).
chr(65+$pColumnIndex%26);
}else{
$_indexCache[$pColumnIndex]=chr(64+(($pColumnIndex-26)/676)).
chr(65+((($pColumnIndex-26)%676)/26)).
chr(65+$pColumnIndex%26);
}
}
return$_indexCache[$pColumnIndex];
}
?>
将列的数字序号转成字母使用:
PHPExcel_Cell::stringFromColumnIndex($i); // 从o开始
将列的字母转成数字序号使用:
PHPExcel_Cell::columnIndexFromString('AA');
转载随意,但请附上文章地址:-)