我正在尝试打开xlsx文件。但是,当我像下面的代码一样解析该文件时,我得到以下错误:
Can't locate object method "new" via package "SpreadSheet::XLSX" (perhaps you forgot to load "SpreadSheet::XLSX"?)
你有解决方法可以帮助我解析xlsx文件吗?此外,我在提供的路径中存在该文件。
编写的代码如下:
#!/usr/bin/perl -w
use strict;
use warnings;
use Text::Iconv;
use Spreadsheet::XLSX;
use Date::Format;
my $converter = Text::Iconv->new( "utf-8", "windows-1251" );
# Read the data from a file.
my $prod_otp = SpreadSheet::XLSX->new( '/home/okal/Book1.xlsx', $converter );
if ( !defined $prod_otp ) {
die $prod_otp->error(), ".\n";
}
for my $worksheet ( $prod_otp->worksheet() ) {
my ( $row_min, $row_max ) = $worksheet->row_range();
my ( $col_min, $col_max ) = $worksheet->col_range();
for my $row ( $row_min .. $row_max ) {
for my $col ( $col_min .. $col_max ) {
my $cell = worksheet->get_cell( $row, $col );
next unless $cell;
print "Row, Col = ($row, $col)\n";
}
}
}
感谢您的帮助。
答案 0 :(得分:5)
它是SpreadSheet:XLSX
或Spreadsheet::XLSX
。 Perl模块名称区分大小写。
在调用->new()
时爆炸的事实表明use
语句可能是正确的变体。