diff options
Diffstat (limited to 'lib/Spreadsheet/ParseXLSX.pm')
-rw-r--r-- | lib/Spreadsheet/ParseXLSX.pm | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/lib/Spreadsheet/ParseXLSX.pm b/lib/Spreadsheet/ParseXLSX.pm index 49dc088..2ede920 100644 --- a/lib/Spreadsheet/ParseXLSX.pm +++ b/lib/Spreadsheet/ParseXLSX.pm @@ -105,14 +105,18 @@ sub _parse_sheet { $sheet->{MaxCol} = $cmax; for my $cell ($sheet_xml->find_nodes('//sheetData/row/c')) { - next unless $cell->first_child('v'); - my ($row, $col) = $self->_cell_to_row_col($cell->att('r')); - my $val = $cell->first_child('v')->text; + my $val = $cell->first_child('v') + ? $cell->first_child('v')->text + : undef; my $type = $cell->att('t') || 'n'; my $long_type; - if ($type eq 's') { + if (!defined($val)) { + $long_type = 'Text'; + $val = ''; + } + elsif ($type eq 's') { $long_type = 'Text'; $val = $sheet->{_Book}{PkgStr}[$val]{Text}; } |