Spreadsheet :: WriteExcel(perl)中饼图中的更多格式

时间:2011-05-24 22:09:14

标签: perl excel

有谁知道是否可以在饼图中添加更多格式?例如,在图表上显示每个切片的百分比,或者在下一个/上面显示每个切片的标签?而不是只有一个简单的传奇?

谢谢!

1 个答案:

答案 0 :(得分:1)

Spreadsheet::WriteExcel无法实现,但可以使用Excel::Writer::XLSX

以下是一个例子:

#!/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__

这是显示的图表: enter image description here