Только что установленный Spreadsheet::ParseExcel
модуль, но возникла проблема. См. Несколько связанных вопросов, но не точно то же самое.Perl Spreadsheet :: ParseExcel не может разобрать и вернуть undef
#!/usr/bin/perl -w
use strict;
use warnings;
use Spreadsheet::ParseExcel;
use Data::Dumper;
my $bill = $ARGV[0] || die "Usage: $0 bill.xlsx\n";
my $parser = Spreadsheet::ParseExcel->new();
my $workbook = $parser->parse('Book2.xlsx');
print Dumper $workbook;
for my $worksheet ($workbook->worksheet()) { }
Когда я запускаю сценарий Perl, я получил следующее сообщение об ошибке:
Can't call method "worksheet" on an undefined value at read.bill.xlsx.pl line 15.
Так что я бросил $workbook
, и получил:
$VAR1 = undef;
и дамперы анализатор показывает некоторые данные. Это означает, что $parser->parse
не удалось. Кто-нибудь знает, почему? Благодарю.
из документов [Spreadsheet :: ParseExcel] (https://metacpan.org/pod/Spreadsheet::ParseExcel#DESCRIPTION). Модуль не может читать файлы в формате Excel 2007 Open XML XLSX. См. Модуль [Spreadsheet :: XLSX] (https://metacpan.org/pod/Spreadsheet::XLSX). – jm666