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

It seems that formulas inserted using WriteExcel can't be read by Excel Viewer. Is that a problem with the viewer or the module?
Rohit Raghunathan

Replies are listed 'Best First'.
Re^3: WriteExcel and formulas
by jmcnamara (Monsignor) on Jul 26, 2012 at 09:33 UTC
    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.

      Thanks,

      I discovered another way by accident. Simply open the file on a system with excel and save it. MS Excel recalculates formulas in files last saved by an earlier version of excel.

      Rohit Raghunathan