Vijay c
Vijay c

Reputation: 57

Reading 2 OR multiple excel worksheet in same perl program

I am trying to read 2 excel sheet in single perl program.

like this -->

#!/usr/bin/perl -w

use strict;
use IO::File;
use IO::Seekable;
use Spreadsheet::ParseExcel;

my $parser = Spreadsheet::ParseExcel->new();
my $workbook = $parser->Parse('FILE1.xls');
my $worksheet1 = $workbook->worksheet('Worksheet_name1');

my $workbookB  = $parser->Parse('FILE2.xls');
my $worksheetB = $workbookB->worksheet('Worksheet_name2');

But, I am facing this Error - Can't call method "worksheet" on an undefined value at ./PERL_PROGRAM.pl

Can someone give me some pointers.. Thanks for your help

Upvotes: 0

Views: 1652

Answers (1)

cjm
cjm

Reputation: 62109

The parse method returns undef if it fails, and you aren't checking for that. (Which is why you get Can't call method "worksheet" on an undefined value.) Also, it's parse, not Parse (Perl is case sensitive). Try this:

#!/usr/bin/perl

use strict;
use warnings;
use Spreadsheet::ParseExcel;

my $parser = Spreadsheet::ParseExcel->new();
my $workbook = $parser->parse('FILE1.xls') or die $parser->error;
my $worksheet1 = $workbook->worksheet('Worksheet_name1')
                 or die "Worksheet_name1 doesn't exist";

my $workbookB  = $parser->parse('FILE2.xls') or die $parser->error;
my $worksheetB = $workbookB->worksheet('Worksheet_name2')
                 or die "Worksheet_name2 doesn't exist";

Upvotes: 2

Related Questions