diff options
author | Jesse Luehrs <doy@tozt.net> | 2013-08-29 15:41:59 -0400 |
---|---|---|
committer | Jesse Luehrs <doy@tozt.net> | 2013-08-29 15:41:59 -0400 |
commit | 4e03d41c19ee0f70f076934455844fe40b122f3f (patch) | |
tree | a4b39266bc12de61da035630c9674607b4ba6ce6 /lib/Spreadsheet/ParseXLSX.pm | |
parent | 5ff1728282b6bccaa553f97bf4b8d1fc121f92c3 (diff) | |
download | spreadsheet-parsexlsx-4e03d41c19ee0f70f076934455844fe40b122f3f.tar.gz spreadsheet-parsexlsx-4e03d41c19ee0f70f076934455844fe40b122f3f.zip |
fix this algorithm again
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; |