Perl - 打开xlsx文件错误

时间:2014-10-15 00:25:02

标签: perl

我正在尝试打开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";
        }
    }
}

感谢您的帮助。

1 个答案:

答案 0 :(得分:5)

它是SpreadSheet:XLSXSpreadsheet::XLSX。 Perl模块名称区分大小写。

在调用->new()时爆炸的事实表明use语句可能是正确的变体。