diff options
Diffstat (limited to 'lib/Spreadsheet/ParseXLSX.pm')
-rw-r--r-- | lib/Spreadsheet/ParseXLSX.pm | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/lib/Spreadsheet/ParseXLSX.pm b/lib/Spreadsheet/ParseXLSX.pm index 8159fa8..209ae6f 100644 --- a/lib/Spreadsheet/ParseXLSX.pm +++ b/lib/Spreadsheet/ParseXLSX.pm @@ -575,9 +575,12 @@ sub _cell_to_row_col { my ($col, $row) = $cell =~ /([A-Z]+)([0-9]+)/; - (my $ncol = $col) =~ tr/A-Z/1-9A-Q/; - $ncol = POSIX::strtol($ncol, 27); - $ncol -= 1; + my $ncol = 0; + for my $char (split //, $col) { + $ncol *= 26; + $ncol += ord($char) - ord('A') + 1; + } + $ncol = $ncol - 1; my $nrow = $row - 1; |