Beefy Boxes and Bandwidth Generously Provided by pair Networks
good chemistry is complicated,
and a little bit messy -LW
 
PerlMonks  

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.

--
John.


Comment on Re^2: Reducing the memory usage of Spreadsheet::ParseExcel
Download Code
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..

    Regards,
    joe

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://825261]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others browsing the Monastery: (7)
As of 2014-09-23 05:05 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    How do you remember the number of days in each month?











    Results (210 votes), past polls