foreach my $sheet (0 .. $sheets - 1) { $eSheet = $eBook->{Worksheet}[$sheet]; $sheetName = $eSheet->{Name}; #print "#Worksheet $sheet: $sheetName\n"; next unless (exists ($eSheet->{MaxRow}) and (exists ($eSheet->{MaxCol}))); foreach my $row ($eSheet->{MinRow} .. $eSheet->{MaxRow}) { foreach my $column ($eSheet->{MinCol} .. $eSheet->{MaxCol}) { my $cell = $eSheet->{Cells}[$row][$column]; if (defined $cell){ if (defined $cell->{Type} && $cell->{Type} eq 'Date'){ print ExcelFmt($datefmt, $cell->unformatted() ) . ","; } else { print $cell->value() . ","; } } else { print ","; } } print "\n"; } }