Beefy Boxes and Bandwidth Generously Provided by pair Networks
"be consistent"

Re^2: Reducing the memory usage of Spreadsheet::ParseExcel

by jmcnamara (Monsignor)
on Feb 25, 2010 at 09:44 UTC ( #825261=note: print w/replies, xml ) Need Help??

in reply to Re: Reducing the memory usage of Spreadsheet::ParseExcel
in thread Reducing the memory usage of Spreadsheet::ParseExcel

Once you have access to the $workbook object you can access the worksheet objects and then the sheet name. Something like this:
sub cell_handler { my $workbook = $_[0]; my $sheet_index = $_[1]; my $row = $_[2]; my $col = $_[3]; my $cell = $_[4]; my $worksheet = $workbook->worksheet($sheet_index); my $sheetname = $worksheet->get_name(); print $sheetname, ": ", $cell->{_Value}, "\n"; }
See the main Spreadshhet::PraseExcel documentation for more details on these methods.

In a real world situation you would probably check to see if $sheet_index is the same as a stored previous value and print the sheet name if it isn't.

One thing to look out for is that the callback will only get called for sheets that contain data. So the sheet name of an empty worksheet wouldn't be printed with the above scheme. If this is a use case that you are interested in then you could also handle it by examining the sheet indices.


Replies are listed 'Best First'.
Re^3: Reducing the memory usage of Spreadsheet::ParseExcel
by joeperl (Acolyte) on Mar 01, 2010 at 07:31 UTC

    Hi John,
    I did the same kind of thing before seeing your reply, except that i passed the $workbook,$sheet_index as a argument to another function where i found out the sheet name using the same logic..
    but your approach is the simplest and apt one i was looking for...
    guess i've a knack to complicate simple things.. :)

    Thanks a lot for educating me..


Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://825261]
and all is quiet...

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

    Results (110 votes). Check out past polls.