Как использовать Spreadsheet :: WriteExcel для создания диаграммы из числовых данных журнала? - PullRequest
0 голосов
/ 23 апреля 2010

Я использовал csv2xls.pl для преобразования текстового журнала в формат .xls, а затем я создаю диаграмму, как показано ниже:

my $chart3 = $workbook->add_chart( type => 'line' , embedded => 1);

# Configure the series.
$chart3->add_series(
    categories => '=Sheet1!$B$2:$B$64',
    values     => '=Sheet1!$C$2:$C$64',
    name       => 'Test data series 1',
);

# Add some labels.
$chart3->set_title( name => 'Bridge Rate Analysis' );
$chart3->set_x_axis( name => 'Packet Size ' );
$chart3->set_y_axis( name => 'BVI Rate' );

# Insert the chart into the main worksheet.
$worksheet->insert_chart( 'G2', $chart3 );

Я вижу график в файле .xls. Однако все данные представлены в текстовом, а не числовом формате, поэтому диаграмма выглядит неправильно.

Как преобразовать текст в число перед применением этой функции создания диаграммы?

Кроме того, как мне отсортировать файл .xls перед созданием диаграммы?

Ответы [ 2 ]

2 голосов
/ 23 апреля 2010

Если Excel отображает данные в виде текста, то вы создали ячейки в виде текста.

Вы пропустили код из csv2xls.pl, поэтому трудно угадать, в чем именно заключается проблема. Возможно, вы используете метод Spreadsheet :: WriteExcel write_string () вместо write_number () или универсальный write () .

Кроме того, как мне отсортировать файл .xls перед созданием диаграммы?

Формат файла Excel не имеет опции сортировки. Сортировка выполняется в Excel после загрузки файла. Решением будет сортировка входного CSV-файла перед использованием Sreadsheet :: WriteExcel для его преобразования.

0 голосов
/ 23 апреля 2010

Способ сделать это в Excel - подключить это к другой ячейке:

=value(trim(clean(a1)))

где a1 - это ячейка, содержащая исходные данные, которые появляются в виде текста. Затем используйте эту ссылку на ячейку для построения диаграммы.

НТН

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...