Excel :: Writer :: XLSX :: Chart - add_series (): имя-свойство-вопрос - PullRequest
1 голос
/ 18 июня 2011

Когда я использую формулу для объявления имени, оно работает (первая серия: Max.), но когда я пишу имя напрямую, я получаю имя по умолчанию (вторая серия: Column B вместо Min.). Почему второй метод не работает здесь? В Excel :: Writer :: XLSX :: Chart # CHART_METHODS - это пример, который передает атрибут name напрямую.
Я открываю файл с помощью LibreOffice.

#!/usr/local/bin/perl
use warnings;
use 5.014;
use Excel::Writer::XLSX;

my $workbook = Excel::Writer::XLSX->new( 'spreadsheet.xlsx' ) or die $!;
my $worksheet = $workbook->add_worksheet( 'One' );
my $ref = [
[ 'Max.', 'Min.' ],
[ 7, 5 ],
[ 11, 5 ],
[ 9, 2 ],
[ 8, 5 ], ];
$worksheet->write_col( 0, 0, $ref );

my $chart = $workbook->add_chart( type => 'line' );

$chart->add_series(
    values => [ 'One', 1, $#$ref, 0, 0 ],
    name => '=One!$A$1',
);

$chart->add_series(
    values => [ 'One', 1, $#$ref, 1, 1 ],
    name => 'Min.',
);

Ответы [ 2 ]

1 голос
/ 18 июня 2011

Работает с LibreOffice 3.4.0.

1 голос
/ 18 июня 2011

Я думаю, что это проблема с LibreOffice. Легенда диаграммы отображается так, как ожидается в Excel 2007 (см. Ниже).

Однако я вижу то же поведение, которое вы описали в LibreOffice 3.3.3, даже с файлами, созданными в Excel.

enter image description here

...