Perl电子表格::ParseExcel无法分析并返回undef
刚刚安装了Perl电子表格::ParseExcel无法分析并返回undef,excel,perl,parsing,spreadsheet,Excel,Perl,Parsing,Spreadsheet,刚刚安装了电子表格::ParseExcel模块,但出现了问题。参见一些相关问题,但不完全相同 #!/usr/bin/perl -w use strict; use warnings; use Spreadsheet::ParseExcel; use Data::Dumper; my $bill = $ARGV[0]
电子表格::ParseExcel
模块,但出现了问题。参见一些相关问题,但不完全相同
#!/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
失败。有人知道为什么吗?谢谢。As,您必须测试parse()
是否返回undef
,并检查错误消息
my $workbook = $parser->parse('Book2.xlsx') // die $parser->error();
同样,您必须测试parse()
是否返回unde
,并检查错误消息
my $workbook = $parser->parse('Book2.xlsx') // die $parser->error();
试试这个:
#!/usr/bin/perl -w
use strict;
use Spreadsheet::ParseExcel;
my $bill = $ARGV[0] || die "Usage: $0 bill.xlsx\n";
my $parser = Spreadsheet::ParseExcel->new();
my $workbook = $parser->parse('Book2.xls');
if ( !defined $workbook ) {
die $parser->error(), ".\n";
}
for my $worksheet ( $workbook->worksheets() ) {
}
试试这个:
#!/usr/bin/perl -w
use strict;
use Spreadsheet::ParseExcel;
my $bill = $ARGV[0] || die "Usage: $0 bill.xlsx\n";
my $parser = Spreadsheet::ParseExcel->new();
my $workbook = $parser->parse('Book2.xls');
if ( !defined $workbook ) {
die $parser->error(), ".\n";
}
for my $worksheet ( $workbook->worksheets() ) {
}
在谷歌搜索之后,我发现XLSX格式需要电子表格::XLSC而不是ParseExcel。此外,解析函数采用文件名,然后不需要$parser->parse的步骤。在谷歌搜索之后,我发现XLSX格式需要电子表格::XLSC而不是ParseExcel。此外,解析函数采用文件名,无需执行$parser->parse的步骤。谢谢,我得到了:找不到Excel数据。不过,它确认了问题是$parser->parse。谢谢,我得到了:找不到Excel数据。然而,它确认了的文档中的问题是$parser->parse。模块无法读取Excel 2007 Open XML XLSX格式的文件。请参阅的文档中的模块。模块无法读取Excel 2007 Open XML XLSX格式的文件。请参阅模块。