diff options
author | Jesse Luehrs <doy@tozt.net> | 2013-05-01 16:31:32 -0500 |
---|---|---|
committer | Jesse Luehrs <doy@tozt.net> | 2013-05-01 16:31:32 -0500 |
commit | 10caaad717821f1081cc5901e775b9bf222d9342 (patch) | |
tree | 24008fc7500e5838348e83c40bd925459d4990e3 /lib/Spreadsheet/Template/Generator/Parser/Excel.pm | |
parent | e30dd0f984245c54ed60dcf563ab0ebe25dd709d (diff) | |
download | spreadsheet-template-10caaad717821f1081cc5901e775b9bf222d9342.tar.gz spreadsheet-template-10caaad717821f1081cc5901e775b9bf222d9342.zip |
properly support formulas (in xlsx at least)
Diffstat (limited to 'lib/Spreadsheet/Template/Generator/Parser/Excel.pm')
-rw-r--r-- | lib/Spreadsheet/Template/Generator/Parser/Excel.pm | 9 |
1 files changed, 3 insertions, 6 deletions
diff --git a/lib/Spreadsheet/Template/Generator/Parser/Excel.pm b/lib/Spreadsheet/Template/Generator/Parser/Excel.pm index 0e12e66..40f2744 100644 --- a/lib/Spreadsheet/Template/Generator/Parser/Excel.pm +++ b/lib/Spreadsheet/Template/Generator/Parser/Excel.pm @@ -82,17 +82,13 @@ sub _parse_cell { my $contents = $cell->unformatted; my $type = $cell->type; + my $formula = $cell->{Formula}; # XXX if ($type eq 'Numeric') { $type = 'number'; } elsif ($type eq 'Text') { - if ($contents =~ /^=/) { - $type = 'formula'; - } - else { - $type = 'string'; - } + $type = 'string'; } elsif ($type eq 'Date') { $type = 'date_time'; @@ -104,6 +100,7 @@ sub _parse_cell { my $data = { contents => $self->_filter_cell_contents($contents, $type), type => $type, + ($formula ? (formula => $formula) : ()), }; return $data; |