开发者

More formatting in pie charts in Spreadsheet::WriteExcel (perl)

Does anyone know if it's possible to add more formatting to a pie chart? Such as, the showing the percentages of each slice on the graph 开发者_如何学Goitself or having the labels of each slice shown next/on it? Instead of only having one simple legend?

Thanks!


It isn't possible with Spreadsheet::WriteExcel but it is possible with Excel::Writer::XLSX.

Here is an example:

#!/usr/bin/perl

use strict;
use warnings;
use Excel::Writer::XLSX;

my $workbook  = Excel::Writer::XLSX->new( 'chart_pie.xlsx' );
my $worksheet = $workbook->add_worksheet();
my $bold      = $workbook->add_format( bold => 1 );

# Add the worksheet data that the charts will refer to.
my $headings = [ 'Category', 'Values' ];
my $data = [
    [ 'Apple', 'Cherry', 'Pecan' ],
    [ 60,       30,       10     ],
];

$worksheet->write( 'A1', $headings, $bold );
$worksheet->write( 'A2', $data );

# Create a new chart object. In this case an embedded chart.
my $chart = $workbook->add_chart( type => 'pie', embedded => 1 );

# Configure the series.
$chart->add_series(
    name        => 'Pie sales data',
    categories  => [ 'Sheet1', 1, 3, 0, 0 ],
    values      => [ 'Sheet1', 1, 3, 1, 1 ],
    data_labels => { value => 1 },
);

# Add a title.
$chart->set_title( name => 'Popular Pie Types' );

# Set an Excel chart style. Colors with white outline and shadow.
$chart->set_style( 10 );

# Insert the chart into the worksheet (with an offset).
$worksheet->insert_chart( 'C2', $chart, 25, 10 );

__END__

And this is the chart it that is displayed:

More formatting in pie charts in Spreadsheet::WriteExcel (perl)

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜