#!/usr/bin/perl -w use strict; use Spreadsheet::ParseExcel; my $parse_excel = Spreadsheet::ParseExcel->new( CellHandler => \&cell_handler, NotSetCell => 1, ); my $workbook = $parse_excel->Parse('file.xls'); sub cell_handler { my($workbook, $sheet_index, $row, $col, $cell) = @_; # Skip some worksheets and rows (more efficiently). if ($sheet_index > 2 and $row > 9) { $workbook->ParseAbort(1); return; } # Do something with the formatted cell value print $cell->{_Value}, "\n"; }