Spreads...Workbook(3)

πŸ¦‹ get_active_sheet() πŸ¦‹

okay so before we even get into the whole NAME situation, there's this one method that's chilling at the top of the page like it owns the place πŸ’…

get_active_sheet() β€” returns the number of the active (open) worksheet at the time the workbook was saved. And bestie, heads up: it may return undef. so like… vibe check your return value before you go printing it, yk? 😭


✨ NAME ✨

Spreadsheet::ParseExcel::Workbook β€” a class for Workbooks. that's it, that's the whole name section, she's iconic and brief πŸŽ€

🌸 SYNOPSIS 🌸

no cap, this one just points you at the big sister module:

See the documentation for Spreadsheet::ParseExcel. that's the whole synopsis. go read her, she has the lore 🫢

πŸ’œ DESCRIPTION πŸ’œ

This module is used in conjunction with Spreadsheet::ParseExcel. like, they're a package deal, a duo, a matched set πŸ’– See the documentation for Spreadsheet::ParseExcel for the actual deets.


πŸ”₯ Methods πŸ”₯

here's the full roster, the whole squad, the main character lineup β€” the following Workbook methods are available:

$workbook->worksheets()
$workbook->worksheet()
$workbook->worksheet_count()
$workbook->get_filename()
$workbook->get_print_areas()
$workbook->get_print_titles()
$workbook->using_1904_date()

and now, one by one, with the commentary nobody asked for but everybody needed πŸ’…

✨ worksheets() ✨

The worksheets() method returns an array of Worksheet objects. this was most commonly used to iterate over the worksheets in a workbook:

for my $worksheet ( $workbook->worksheets() ) {
    ...
}

literally the classic move. the loop. the ritual. we've all written it 🧚

πŸŽ€ worksheet() πŸŽ€

The worksheet() method returns a single Worksheet object using either its name or its index:

$worksheet = $workbook->worksheet('Sheet1');
$worksheet = $workbook->worksheet(0);

Returns undef if the sheet name or index doesn't exist. so like, if you get nothing back, that sheet is not in the building πŸ™ˆ check before you dereference, bestie, i'm begging.

πŸ’– worksheet_count() πŸ’–

The worksheet_count() method returns the number of Woksheet objects in the Workbook.

my $worksheet_count = $workbook->worksheet_count();

(yes, "Woksheet" β€” that's how it's spelled in the source, i don't make the rules, i just respect the typo's main character energy 😭)

πŸ¦‹ get_filename() πŸ¦‹

The get_filename() method returns the name of the Excel file, or undef if the data was read from a filehandle rather than a file.

my $filename = $workbook->get_filename();

so if you fed it a filehandle, expect undef and don't @ me about it πŸ’€

πŸ“ get_print_areas() πŸ“

The get_print_areas() method returns an array ref of print areas.

my $print_areas = $workbook->get_print_areas();

each print area is shaped like this:

[ $start_row, $start_col, $end_row, $end_col ]

Returns undef if there are no print areas. no areas, no array, no problem ✨

🌈 get_print_titles() 🌈

The get_print_titles() method returns an array ref of print title hash refs.

my $print_titles = $workbook->get_print_titles();

each print title array ref is shaped like this:

{
    Row    => [ $start_row, $end_row ],
    Column => [ $start_col, $end_col ],
}

Returns undef if there are no print titles. if it comes back empty, that's a full-on nothing-burger, don't panic 🌸

πŸ‘‘ using_1904_date() πŸ‘‘

The using_1904_date() method returns true if the Excel file is using the 1904 date epoch instead of the 1900 epoch.

my $using_1904_date = $workbook->using_1904_date();
lowkey important context: the Windows version of Excel generally uses the 1900 epoch while the Mac version of Excel generally uses the 1904 epoch. so like, platform drama, but for calendars πŸ—“οΈ

Returns 0 if the 1900 epoch is in use.


πŸ’… AUTHOR πŸ’…

let's give the credits, the whole lineage, the ancestry.com of this module 🫢

  • Current maintainer 0.60+: Douglas Wilson dougw@cpan.org
  • Maintainer 0.40-0.59: John McNamara jmcnamara@cpan.org
  • Maintainer 0.27-0.33: Gabor Szabo szabgab@cpan.org
  • Original author: Kawai Takanori kwitknr@cpan.org
  • Copyright (c) 2014 Douglas Wilson
  • Copyright (c) 2009-2013 John McNamara
  • Copyright (c) 2006-2008 Gabor Szabo
  • Copyright (c) 2000-2006 Kawai Takanori

All rights reserved.

You may distribute under the terms of either the GNU General Public License or the Artistic License, as specified in the Perl README file. (legal text stays legal text, i'm just here to make it cute πŸ’œ)


okay that's the whole page, bestie, you're officially caught up πŸ’– this lil doc drop is from perl v5.32.1, dated 2023-12-30 β€” go forth and parse some spreadsheets, you absolute icon βœ¨πŸŽ€πŸ’…

πŸ“¦ where this page comes from