2012-05-07 84 views
0

我想讀取單個perl程序中的2個excel表單。在同一個perl程序中讀取2個或多個excel工作表

這樣的 - >

#!/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'); 

但是,我對着這個錯誤 - 不能./PERL_PROGRAM.pl

未定義的值調用方法「工作表」

能有人給我的一些指針..感謝您的幫助

回答

2

parse方法返回undef如果它失敗,並且您沒有檢查。 (這就是爲什麼你得到Can't call method "worksheet" on an undefined value。)另外,這是parse,而不是Parse(Perl區分大小寫)。試試這個:

#!/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"; 
相關問題