Beefy Boxes and Bandwidth Generously Provided by pair Networks
Clear questions and runnable code
get the best and fastest answer
 
PerlMonks  

Scope of workbook in write excel

by devbond (Novice)
on Sep 29, 2013 at 17:19 UTC ( [id://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?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: perlquestion [id://1056242]
Approved by Old_Gray_Bear
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others exploiting the Monastery: (3)
As of 2024-04-19 01:47 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found