2017-03-16 1 views
0

PHP를 사용하면 "CF"와 같은 Excel 스타일 열 이름을 숫자 (CF = 84)로 어떻게 변환 할 수 있습니까? 이 질문은 특히 PHP와 관련이 있습니다. 다른 언어에 대한 답변으로 "속"하지 마십시오.PHP에서 Excel 스타일 열 이름을 숫자로 변환하려면 어떻게해야합니까?

+2

속는 : http://stackoverflow.com/questions/5554369/php-how-to-output-list-like-this-aa-ab-ac-all-the-way-to-zzzy- zzzz-zzzza – nogad

+0

[열 이름의 Excel 열 번호] 가능한 복제본 (http://stackoverflow.com/questions/10106465/excel-column-number-from-column-name) – MarianD

+0

@nogad, 가능하면 검색 할 때 솔루션에 대해서는 다른 유틸리티를 사용하기 때문에 그 질문을 찾지 못했습니다. – azBrian

답변

0

이러한 기능을 사용해보십시오.

/** 
* Convert Excel style column names into numbers. 
* @param string $column Excel style column name like AA or CF 
* @return integer Number with A being 1 and AA being 27 
*/ 

function alpha2num($column) { 
    $number = 0; 
    foreach(str_split($column) as $letter){ 
     $number = ($number * 26) + (ord(strtolower($letter)) - 96); 
    } 
    return $number; 
} 

/** 
* Access array value with Excel style column name. 
* @param array $array The array to access 
* @param string $column Excel style column name like AA or CF 
* @return mixed Value found at the column 
*/ 
function alpha_col($array, $column){ 
    $i = alpha2num($column) - 1; 
    return isset($array[$i]) ? $array[$i] : false; 
} 
+1

[PHPExcel은 관심이 있다면 약간 다릅니다.] (https://github.com/PHPOffice/PHPExcel/blob/1c8c2379ccf5ab9dd7cb46be965821d22173bcf4/Classes/PHPExcel/Cell.php#L790) –

+0

나는 그것을 보았지만 나에게 강력 함에도 불구하고 더러운 방법처럼 보였습니다. – azBrian

+1

"ord"및 "strtolower"성능 영향에 대한 여러분의 관찰에 관심이있을 것으로 생각했습니다. 나는 네가 깔끔하게 보이는 데 동의한다. –

관련 문제