Почему мой Perl-код перезаписывает расположение моего значения в электронной таблице?

Я пытаюсь создать диаграмму в электронной таблице (используя Spreadsheet::Write). Я только хочу поставить 1 категорию и 1 значение, но каким-то образом значение, ну, мое "значение" перезаписывается.

Я добавляю серию так:

my $chart = $workbook->add_chart( type => 'column', embedded => 1 );

$chart->add_series(
        categories  => '='.$worksheet->get_name().'!$A$'.$aecCells[0],
        values      => '='.$worksheet->get_name().'!$B$'.$aecCells[0],
         name       => $aecParams[0],
     );

print "\n--->".$aecCells[0];

 $chart->set_title (name => 'Plots');
 $worksheet->insert_chart('I2', $chart );

Технически, это должно взять значение из Bx клетка, но это не так:/, он берет один из Ax... который на самом деле не числовое значение, а строка, поэтому я получаю бесполезный график.

Есть идеи, что я делаю не так?

1 ответ

Поместите имя листа в кавычки и используйте диапазоны ячеек, чтобы решить вашу проблему:

$chart->add_series(
        categories  => '=\''.$worksheet->get_name().'\'!$A$1:$A$'.$aecCells[0],
        values      => '=\''.$worksheet->get_name().'\'!$B$1:$B$'.$aecCells[0],
         name       => $aecParams[0],
     );
Другие вопросы по тегам