http://www.perlmonks.org?node_id=983809


in reply to Re^2: WriteExcel and formulas
in thread WriteExcel and formulas

Is that a problem with the viewer or the module?

A little bit of both.

Spreadsheet::WriteExcel writes formulas in the required binary RPN format but it doesn't write the result of the formula since it wouldn't be practical to calculate the result of arbitrary formulae. So instead it writes 0 as a default formula result. Excel and most other spreadsheet applications recalculate the result of formulas when the file is loaded so that generally isn't an issue.

However, Excel Viewer doesn't calculate formulae so all you see is the default 0 result.

You can work around this by explicitly specifying the calculated value of the formula at the end of the argument list:

$worksheet->write_fromula('A1', '=2+2', $format, 4); # Or: $worksheet->write('A1', '=2+2', $format, 4);

--
John.