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.pm12
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};
}