foreach my $row ($sheet -> {MinRow} .. $sheet -> {MaxRow}) { my($first) = 1; $sheet -> {MaxCol} ||= $sheet -> {MinCol}; foreach my $col ($sheet -> {MinCol} .. $sheet -> {MaxCol}) { my $cell = $sheet -> {Cells} [$row] [$col]; if ($cell) { unless (defined($firstrow)) { print CSV ',' unless ($first); print CSV $cell -> value(); } $first = undef; $last = $cell -> value(); print Dumper($cell); } }