SharePoint Alfresco PHP MySQL
О сайте Контакты
воскресенье, 28 февраля 2016 г.

Функция на PHP для получения буквенного обозначения колонки Excel по ее номеру

Если вы создаёте отчёты в Excel на PHP, то при отображении данных можете уйти на листе далеко вправо. У Excel колонки именуются буквами, например A, B, С. Когда алфавит кончается, количество букв увеличивается: AA, AB, AC. Если и этого количества не хватает, то Excel нумерует колонки тремя буквами.

Если вы работаете с COM-объектом «Excel.Application», то для обращения к таким буквенным колонкам по их порядковому номеру можно использовать такую простую функцию:

function ExcelColumnByNum($num) {
  $num = abs(intval($num));
  if ($num < 1) {
    $num = 1;
  }  
  $num1 = ($num - 1) % 26;
  $letter = chr(65 + $num1);
  $num2 = intval(($num - 1) / 26);
  if ($num2 > 0) {
    return ExcelColumnByNum($num2) . $letter;
  } else {
    return $letter;
  }  
}

Если вы используете распространённый компонент PHPExcel, который не требует инициализации COM, то там есть для этого специальная функция:

$colString = PHPExcel_Cell::stringFromColumnIndex($colNumber);
Sergey Lysenko, воскресенье, 28 февраля 2016 г.

Комментарии: