簡體   English   中英

Perl“無法通過包“ Spreadsheet :: ParseExcel :: Workbook”找到對象方法“工作表””

[英]Perl 'can't locate object method “worksheets” via package “Spreadsheet::ParseExcel::Workbook”'

我正在嘗試打開兩個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();

我遇到的第一個錯誤是“無法找到對象方法“ parser” ...”,但這是通過將“ parser”更改為“ Parser”解決的。

當我再次執行腳本時,出現錯誤:無法通過包“ Spreadsheet :: ParseExcel :: Workbook”找到對象方法“ worksheets”。

我正在Linux Perl v5.8.5中運行腳本。

知道這里可能有什么問題嗎? 我是Perl語言的新手。 非常感謝所有評論。

PS:當我在Windows中運行類似的代碼時,一切運行正常。

6年前的0.43中添加了workbooks()方法 由於您的Perl版本相當舊(11年),因此您的Spreadsheet :: ParseExcel版本可能也相當舊。

您可以通過以下方式進行檢查:

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

通常,除非您保持最新狀態,否則不要將Web文檔用於Perl模塊。 它可能不適用於您安裝的版本。 而是使用perldoc

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM