http://qs1969.pair.com?node_id=11114672

Akshit has asked for the wisdom of the Perl Monks concerning the following question:

Hello Monks..!!

Hope all doing good :)

I am trying to Get Excel column name for given decimal number.

my code able to obtion from A..ZZ. Once it reaches column AAA its not working. I have to update logic but I am running out of ideas.

Also I felt my code is very long. So any ideas to improve my code is appreciated.

Here is my code:

.
$colname = GetExcelColumnName(703); print "colname is : $colname \n"; sub GetExcelColumnName { $columnNumber = $_[0]; $columnnamestr = ""; print "column number is : $columnNumber \n"; $columnNumber = $columnNumber; $div = $columnNumber/26; my $divstart = 0; if($columnNumber%26 == 0) { $div = $div - 1; $divstart = 1; } $divcnt = 0; if($div >= 1) { $divcnt = $columnNumber/26; } if(($divcnt == 0)) { $columnname = 65-1+$columnNumber; $return_str = chr($columnname); } else { if($columnNumber == 26) { $columnname = 65+$div; } else{ $columnname = 65-1+$div; } $return_str = chr($columnname); $mod = $columnNumber%26; if($columnname <= 90) { if(($return_str != 'Z') && ($mod == 0)) { $columnname = 65; } elsif(($return_str == 'Z') && ($mod == 0)) { $columnname = 90; } else{ $columnname = 65-1+$mod; } $return_str = $return_str.chr($columnname); } else { $return_str = "update logic \n"; } } return $return_str; }