Perl无法定​​位对象方法"工作表"通过包"电子表格:: ParseExcel ::工作簿"'

时间:2016-02-02 07:30:48

标签: excel perl parsing

我正在尝试打开两个Excel .xls文件进行比较。我包括

    use Spreadsheet::ParseExcel;    

然后,我继续我的代码如下:

    my $parser_r   = Spreadsheet::ParseExcel->new();
    my $resultbook = $parser_r->parse($absPathResult);
    my $parser_i   = Spreadsheet::ParseExcel->new();
    my $resultideal = $parser_i->parse($absPathIdeal);

    @worksheetsListResult = $resultbook->worksheets();
    @worksheetsListIdeal = $resultideal->worksheets();

我遇到的第一个错误是"找不到对象方法"解析器" ...",但这是通过改变"解析器&#34来解决的;到" Parser"。

当我再次执行脚本时,我收到错误:无法找到对象方法"工作表"通过包"电子表格:: ParseExcel ::工作簿"。

我在Linux中运行脚本,Perl v5.8.5。

知道这里可能出现的问题是什么?我是Perl语言的新手。所有评论都非常感谢。

PS:当我在Windows中运行类似的代码时,一切都运行良好。

1 个答案:

答案 0 :(得分:4)

六年前

The workbooks() method was added in 0.43。由于您的Perl版本相当陈旧(11年),因此您的Spreadsheet :: ParseExcel版本可能也相当陈旧。

您可以查看:

perl -MSpreadsheet::ParseExcel -wle 'print $Spreadsheet::ParseExcel::VERSION'

一般情况下,除非您保持最新,否则请不要使用Perl模块的Web文档。它可能不适用于您安装的版本。而是使用perldoc