Beefy Boxes and Bandwidth Generously Provided by pair Networks
There's more than one way to do things

Scope of workbook in write excel

by devbond (Novice)
on Sep 29, 2013 at 17:19 UTC ( #1056242=perlquestion: print w/replies, xml ) Need Help??
devbond has asked for the wisdom of the Perl Monks concerning the following question:

I want to declare workbook outside the subroutine because i want to use it in other subs also .but the following code is not working for me. Please Help.
#!/usr/bin/perl use warnings; use Spreadsheet::WriteExcel; use Spreadsheet::ParseExcel; use Spreadsheet::ParseExcel::SaveParser; my $workbook; my @s; $Month=Sept; sub create_excel { $workbook = Spreadsheet::WriteExcel->new('FAISTATS_'."$Month".'.xls'); for ( $i=1;$i<=8;$i++) { $s[$i] = $workbook->add_worksheet( "cpzea0".$i."a0001" ) ; } $s[9] = $workbook->add_worksheet( "WEEKLY" ) ; $s[10] = $workbook->add_worksheet( "MONTHLY" ) ; } create_excel();

Replies are listed 'Best First'.
Re: Scope of workbook in write excel
by ig (Vicar) on Sep 30, 2013 at 06:51 UTC

    You don't say in what way your program is not working for you. On my system (Windows running perl 5.15) there were a few problems.

    I added use strict;, which I do habitually. This revealed one fault and I made two other changes to avoid warnings. Then the program ran but produced an empty file, so I added an explicit close() and it created worksheets as expected. I ended up with the following:

    use strict; use warnings; use Spreadsheet::WriteExcel; #use Spreadsheet::ParseExcel; #use Spreadsheet::ParseExcel::SaveParser; my $workbook; my @s; my $Month="Sept"; sub create_excel { $workbook = Spreadsheet::WriteExcel->new('FAISTATS_'."$Month".'.xl +s'); for ( my $i=1;$i<=8;$i++) { $s[$i] = $workbook->add_worksheet( "cpzea0".$i."a0001" ) ; } $s[9] = $workbook->add_worksheet( "WEEKLY" ) ; $s[10] = $workbook->add_worksheet( "MONTHLY" ) ; } create_excel(); $workbook->close();

    It may help you to review the caveats about close() in Spreadsheet::WriteExcel.

Re: Scope of workbook in write excel
by Anonymous Monk on Sep 29, 2013 at 17:34 UTC
Re: Scope of workbook in write excel
by MidLifeXis (Monsignor) on Sep 30, 2013 at 13:31 UTC

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: perlquestion [id://1056242]
Approved by Old_Gray_Bear
and all is quiet...

How do I use this? | Other CB clients
Other Users?
Others contemplating the Monastery: (10)
As of 2018-06-22 08:23 GMT
Find Nodes?
    Voting Booth?
    Should cpanminus be part of the standard Perl release?

    Results (122 votes). Check out past polls.