summaryrefslogtreecommitdiffstats
path: root/lib/Spreadsheet/ParseXLSX.pm
diff options
context:
space:
mode:
Diffstat (limited to 'lib/Spreadsheet/ParseXLSX.pm')
-rw-r--r--lib/Spreadsheet/ParseXLSX.pm18
1 files changed, 11 insertions, 7 deletions
diff --git a/lib/Spreadsheet/ParseXLSX.pm b/lib/Spreadsheet/ParseXLSX.pm
index 1698acd..cb20013 100644
--- a/lib/Spreadsheet/ParseXLSX.pm
+++ b/lib/Spreadsheet/ParseXLSX.pm
@@ -110,13 +110,17 @@ sub _parse_workbook {
my @sheets = map {
my $idx = $_->att('r:id');
- my $sheet = Spreadsheet::ParseExcel::Worksheet->new(
- Name => $_->att('name'),
- _Book => $workbook,
- _SheetNo => $idx,
- );
- $self->_parse_sheet($sheet, $files->{sheets}{$idx});
- $sheet
+ if ($files->{sheets}{$idx}) {
+ my $sheet = Spreadsheet::ParseExcel::Worksheet->new(
+ Name => $_->att('name'),
+ _Book => $workbook,
+ _SheetNo => $idx,
+ );
+ $self->_parse_sheet($sheet, $files->{sheets}{$idx});
+ ($sheet)
+ } else {
+ ()
+ }
} $files->{workbook}->find_nodes('//sheets/sheet');
$workbook->{Worksheet} = \@sheets;