Es hat mir keine Ruhe gelassen, deshalb noch 'ne kürzere Variant
Delphi-Quellcode:
program ExcelSpalten;
function MS_EXCEL_ConvertColumn(AColumn: Integer): String;
begin
if (AColumn < 1) or (AColumn > 16384) then begin
Result := Format('ungültige Spaltenposition (%d)',[AColumn]);
end else while AColumn > 0 do begin
if AColumn mod 26 = 0 then begin
Result := 'Z' + Result;
AColumn := AColumn - 1;
end else begin
Result := Chr((AColumn mod 26) + 64) + Result;
end;
AColumn := AColumn div 26;
end;
end;
var
i : Integer;
begin
// Spaltenbezeichnungen können von 1 -> A bis 16384 -> XFD vergeben werden.
for i := 0 to 16385 do WriteLn(MS_EXCEL_ConvertColumn(i));
end.