0

1 つの 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');

しかし、私はこのエラーに直面しています - Can't call method "worksheet" on an undefined value at ./PERL_PROGRAM.pl

誰かが私にいくつかの指針を教えてもらえますか..助けてくれてありがとう

4

1 に答える 1

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";
于 2012-05-07T06:29:41.107 に答える