Skip to content

Instantly share code, notes, and snippets.

@hazeim254
Created August 3, 2015 11:33
Show Gist options
  • Save hazeim254/224f26ee34fb875006ce to your computer and use it in GitHub Desktop.
Save hazeim254/224f26ee34fb875006ce to your computer and use it in GitHub Desktop.
Simple functions to convert between column number and column names in Excel
<?php
/**
* Converts the column number to proper Excel column format
*
* @param $number column number to be converted
*
* @return Returns Excel column name
*/
function excelConvertToCell($number)
{
if ($number <= 26) {
return chr(ord('A') - 1 + $number);
}
$basic = intval($number / 26);
$modulus = $number % 26;
if ($modulus == 0) {
$basic --;
$modulus = 26;
}
return excelConvertToCell($basic) . excelConvertToCell($modulus);
}
/**
* Converts Excel column name to column number
*
* @param $number column name to be converted
*
* @return Returns column number
*/
function excelConvertToNumber($cell)
{
$len = strlen($cell);
if (1 === $len) {
return ord(strtoupper($cell)) - ord("A") + 1;
}
$number = 0;
for ($i = 0; $i < $len; ++$i) {
$number += excelConvertToNumber($cell[$i]) * pow(26, $len - $i - 1);
}
return $number;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment