Невозможно вызвать метод «листа» для неопределенного значения (Perl в Linux) - PullRequest
0 голосов
/ 11 июня 2019

Я пытаюсь прочитать значение ячейки из Excel, используя Spreadsheet::ParseExcel класс в Linux

Понял, что класс Spreadsheet::ParseExcel инкапсулирует метод worksheet().

Я получил приведенное ниже исключение перед тем, как включить обходной путь, чтобы найти действительную ошибку, которая была предложена для этого вопроса .

Can't call method "worksheet" on an undefined value at generateChecklist_test2.pl line 14.

Получено следующее исключение после включения предложенного обходного пути.

Got error File not found parsing spreadsheet. at generateChecklist_test2.pl line 14.

Пробовал запускать скрипт с и без пути к файлу. Тем не менее, не повезло.

Может кто-нибудь посоветовать, чем вызвано это исключение, пожалуйста.

Я получаю это исключение при попытке чтения данных Excel в форматах XLSX и XLS.

#!/usr/bin/perl

use strict;
use warnings;

use Excel::Writer::XLSX;
use Spreadsheet::ParseExcel;
use POSIX qw(strftime);

my $current_date_yyyy_mm_dd = strftime "%F", localtime;
my $parser = Spreadsheet::ParseExcel->new();
my $read_m_r_workbook = $parser->parse( '/home/btbillingauto/abs/m_and_r_checklist_'.$current_date_yyyy_mm_dd.'.xlsx' );
unless ($read_m_r_workbook) {
    die "Got error " . $parser->error()." parsing spreadsheet.";
}
#my $read_mediation_rating_workbook = $parser->parse( 'm_and_r_checklist_'.$current_date_yyyy_mm_dd.'.xls' );
my $read_worksheet_kpi = $read_m_r_workbook->worksheet('kpi');
my $data_from_kpi_tab=0;

#read data from KPI Tab - Cell E13
$data_from_kpi_tab = $read_worksheet_kpi->get_cell(12, 4);
print "data_from_kpi_tab: ".$data_from_kpi_tab."\n";
...