Spread...:Simple(3pm)
β¨ NAME β¨
Spreadsheet::ParseExcel::Simple β bestie, it's a simple interface to Excel data π (the manpage header calls it Spread...:Simple(3pm) but we both know her full government name)
π SYNOPSIS π
my $xls = Spreadsheet::ParseExcel::Simple->read('spreadsheet.xls');
foreach my $sheet ($xls->sheets) {
while ($sheet->has_data) {
my @data = $sheet->next_row;
}
}
That's it. That's the whole vibe. π¦
πΈ DESCRIPTION πΈ
okay so basically this is an abstraction layer on top of the Spreadsheet::ParseExcel module, and its whole job is making reading values simple. no cap.
You literally just loop over the sheets, and fetch rows to arrays. that's the entire personality.
For anything more complex, you probably want to use Spreadsheet::ParseExcel directly. This one's for the low-effort, high-reward girls. π
π BOOK METHODS π
read
my $xls = Spreadsheet::ParseExcel::Simple->read('spreadsheet.xls');
This opens the spreadsheet for you, bestie, she's got it. Returns undef if we cannot read the book. π (yes, undef means it didn't work, check for that, i'm begging)
sheets
@sheets = $xls->sheets;
Every spreadsheet can contain one or more worksheets, and this fetches them all back. Then you can iterate over them, or jump straight to the one you wish to play with. main character selection energy. β¨
book
my $book = $xls->book;
The Spreadsheet::ParseExcel object we are working with. Use this if you need to manipulate it in ways that this interface doesn't allow β she's giving you the keys to the whole thing. π₯
π SHEET METHODS π
These methods can be called on each sheet returned from $xls->sheets:
has_data
if ($sheet->has_data) { ... }
This lets us know if there are more rows in this sheet that we haven't read yet. The way this matters is it lets us differentiate between an empty row and the end of the sheet. lowkey crucial. π
next_row
my @data = $sheet->next_row;
Fetch the next row of data back. periodt. π
sheet
my $obj = $sheet->sheet;
The underlying Spreadsheet::ParseExcel object for the worksheet. Use this if you need to manipulate it in ways that this interface doesn't allow (e.g. asking it for the sheet's name). iconic little backdoor. π§
π AUTHOR π
Tony Bowden
π BUGS and QUERIES π
Please direct all correspondence regarding this module to:
bug-Spreadsheet-ParseExcel-Simple@rt.cpan.org
(not me, i'm just the messenger π«Ά)
π COPYRIGHT AND LICENSE π
Copyright (C) 2001-2005 Tony Bowden.
This program is free software; you can redistribute it and/or modify it under
the terms of the GNU General Public License; either version 2 of the License,
or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
FOR A PARTICULAR PURPOSE.
so like, free to use, free to share, but if it breaks it is not on anybody, bestie. π
β SEE ALSO β
Spreadsheet::ParseExcel.
and that's the whole page, bestie β perl v5.34.0, dated 2022-06-17, the Spread...:Simple(3pm) girl herself. slay, go read some spreadsheets π
π
π¦ where this page comes from
- debian bookworm: libspreadsheet-parseexcel-simple-perl 1.04-4 Β· GPL-2.0-or-later
- debian trixie: libspreadsheet-parseexcel-simple-perl 1.04-4 Β· GPL-2.0-or-later
- ubuntu noble: libspreadsheet-parseexcel-simple-perl 1.04-4 Β· GPL-2.0-or-later
- ubuntu resolute: libspreadsheet-parseexcel-simple-perl 1.04-4 Β· GPL-2.0-or-later
- ubuntu stonking: libspreadsheet-parseexcel-simple-perl 1.04-4 Β· GPL-2.0-or-later
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms