in reply to compare two Excel spreadsheets
Start by reading in the contents of your first spreadsheet. Let's assume you're using worksheet titled "gendata".
Then read in the contents of the second spreadsheet (let's assume you're using worksheet titled "gensearch"):use strict; use Spreadsheet::ParseExcel; my $oBook = Spreadsheet::ParseExcel::Workbook->Parse('first.xls'); if ( ( ! $oBook ) || ( ! defined( $oBook->{Worksheet} ) ) ) { die( "Cannot parse first spreadsheet" ); } my $sheetone = $oBook->Worksheet('gendata') || die( "No such worksheet gendata" );
my $oBook2nd=Spreadsheet::ParseExcel::Workbook->Parse('second.xls'); if ( ( ! $oBook2nd ) || ( ! defined( $oBook2nd->{Worksheet} ) ) ) { die( "Cannot parse second spreadsheet" ); } my $sheettwo = $oBook->Worksheet('gensearch') || die( "No such worksheet gensearch" );
Next let's assume that you want to search all the strings in the first 10 rows of column A in workbook two against the same column/row in workbook one.
for ( my $row = 0; $row < 10; $row++ ) { my $search = qr/$sheettwo->{Cells}[$row][0]->{Val}/; my $data = $sheetone->{Cells}[$row][0]->{Val}; if ( $data =~ m/$search/ ) { printf( "Column A Row %d matches\n", ( $row + 1 ) ); } }
|
|---|