$columnTotal 对应的生成列数,是数字,例如写26,则生成结果是A-Z,如果写27,则生成A-AA
function foundExcelColumnName($columnTotal) {
if ($columnTotal > 702) { return '参数错误'; }$_minBaseCode = 65;//asc2码,65代表A
$_maxBaseCode = 90;//asc2码,90代表Z $_result = array();$_allBaseCode = array();
for($i = $_minBaseCode; $i <= $_maxBaseCode; $i ++) { $_allBaseCode[] = chr($i); }$_firstCode = $_minBaseCode;
$_secondFlag = 0; $_secondCode = $_minBaseCode - 1; for ($i=0; $i < $columnTotal; $i++) { if ($_firstCode > $_maxBaseCode) { $_firstCode = $_minBaseCode; ++ $_secondFlag; ++ $_secondCode; }if ($_secondFlag > 0) {
$result[] = chr($_secondCode) . chr($_firstCode); } else { $result[] = chr($_firstCode); }++ $_firstCode;
}return $result;
}