in reply to Missing first row with formula

Not sure what's going wrong for you but this script

use strict; use warnings; use Spreadsheet::WriteExcel; my $file = "test.xls"; my $xWB = Spreadsheet::WriteExcel->new($file); my $xWS5 = $xWB->add_worksheet('Summary'); my $format = $xWB->add_format(); $format->set_bold(); my $row_count = 5; my $multiply = $xWS5->store_formula("=E2*F2"); for my $line (0..$row_count) { $xWS5->repeat_formula($line, 6, $multiply, $format, "E2", 'E'.($li +ne + 1), "F2", 'F'.($line + 1)); }

creates a new spreadsheet 'test.xls' with a 'Summary' tab and formulae

=E1*F1 =E2*F2 =E3*F3 =E4*F4 =E5*F5 =E6*F6

in cells G1 to G6, which I understand is what you want.

As an additional remark I would think that the for my $line ... loop should not be with the while (my $ar = ... loop, as it repeats the same operation each time. This should not make a difference but is rather wasteful.

Replies are listed 'Best First'.
Re^2: Missing first row with formula
by PerlSufi (Friar) on Jan 10, 2014 at 15:03 UTC
    Thanks hdb. It turns out that actually doing that for loop with repeat formula after the DBI while loop was causing the problem. Doing what you suggested above but putting before the writing from DBI block made it work.Thanks a bunch!!