http://qs1969.pair.com?node_id=1057240


in reply to "write" problem with "Spreadsheet::WriteExcel" Module

Try closing your workbook explicitly.

package excelUtil; use Exporter; use strict; use Spreadsheet::WriteExcel; use vars qw(@ISA @EXPORT); @ISA = qw(Exporter); @EXPORT = qw(writeCell close_workbook); ## Excel workbook my $workbook = Spreadsheet::WriteExcel->new("Sample.xls"); ## worksheet my $worksheet = $workbook->add_worksheet("test"); ## Functions sub writeCell { my ($row, $col, $str) = @_; print "Writing Cell \n"; $worksheet->write($row, $col, $str); } sub close_workbook { print "Closing workbook\n"; $workbook->close(); } writeCell(1, 2, "testing, Row-1, Col-2"); 1;
#!/usr/bin/perl use excelUtil; writeCell(1, 1, "Testing, Row-1, Col-1"); close_workbook;

Edit: corrected my cut and paste error for the second block (which was a duplicate of the first), as noted by soonix - many thanks! What you suggest is exactly what I intended.

Replies are listed 'Best First'.
Re^2: "write" problem with "Spreadsheet::WriteExcel" Module
by soonix (Canon) on Oct 07, 2013 at 14:07 UTC
    ++ for explicitly closing, but I guess your second code block should rather read:

    testExcel.pl

    #!/usr/bin/perl use excelUtil; writeCell(1, 1, "Testing, Row-1, Col-1"); close_workbook;

      Thank you.. It worked when I created the Object and closed the workbook properly..