diff options
Diffstat (limited to 'lib')
-rw-r--r-- | lib/Spreadsheet/Template/Writer/Excel.pm | 20 |
1 files changed, 15 insertions, 5 deletions
diff --git a/lib/Spreadsheet/Template/Writer/Excel.pm b/lib/Spreadsheet/Template/Writer/Excel.pm index 58cc0c1..25efe99 100644 --- a/lib/Spreadsheet/Template/Writer/Excel.pm +++ b/lib/Spreadsheet/Template/Writer/Excel.pm @@ -209,11 +209,21 @@ sub _write_cell { # XXX handle merged cells - $sheet->$write_method( - $row, $col, - $data->{contents}, - (defined $format ? ($format) : ()), - ); + if (defined $data->{formula}) { + $sheet->write_formula( + $row, $col, + $data->{formula}, + (defined $format ? ($format) : (undef)), + $data->{contents}, + ); + } + else { + $sheet->$write_method( + $row, $col, + $data->{contents}, + (defined $format ? ($format) : ()), + ); + } } sub _color { |