PhpExcel: Konvertiert eine Nummer (zB. 27) in ExcelSpalte (zB. AA)
Autor: Ingmar Pforr
eingetragen: Dienstag, 28. Mai 2013 um 10:05 Uhr (22/2013 Kalenderwoche)
geändert: Dienstag, 23. März 2021 um 12:24 Uhr (12/2021 Kalenderwoche)
Keywords: PHPOffice PHPExcel Excel2007 xlsx
Text:
How to convert a column number (eg. 27) into an excel column (eg. AA)
PhpExcel: Konvertiert eine Nummer (zB. 27) in ExcelSpalte (zB. AA)
In Version 2 ist auch dokumentiert, ob bei 1 oder 0 angefangen wird.
http://stackoverflow.com/questions/181596/how-to-convert-a-column-...
Quellcode:
// ######## Version 1: ###################
/**
* Gibt die in Excel uebliche Spaltenbennenung anhand der SpaltenZahl zurueck,
* macht z B aus 27 ein AA.
*
* @param integer $spaltenNummer
* @return string (Buchstabe(n) fuer ExcelSpalten)
*/
public function functionGetExcelColumnName($columnNumber) {
$columnName= '';
while ($columnNumber> 0) {
$modulo= ($columnNumber- 1) % 26;
$columnName= chr(65 + $modulo) . $columnName;
$columnNumber= (int)(($columnNumber- $modulo) / 26);
}
return $columnName;
}
// ######## Version 2: ###################
/**
* Gibt die in Excel uebliche Spaltenbennenung anhand der SpaltenZahl zurueck,
* macht z B aus 27 ein AA.
*
* @param integer $spaltenNummer
* @return string (Buchstabe(n) fuer ExcelSpalten)
*/
public function col2SpreadsheetCol($col) {
$dividend = $col + 1;
$columnName = '';
while ($dividend > 0) {
$modulo = ($dividend - 1) % 26;
$columnName = chr(65 + $modulo) . $columnName;
$dividend = (int)(($dividend - $modulo) / 26);
}
return $columnName;
// col2SpreadsheetCol(0) = "A"
// col2SpreadsheetCol(1) = "B"
// col2SpreadsheetCol(26) = "AA"
}