Excel :: Writer :: XLSX :: Chart :: Line – 问题

有没有办法使图表中的线条(最大温度和最小温度)之间的间隔着色?

#!/usr/local/bin/perl use warnings; use 5.014; use utf8; use Excel::Writer::XLSX; my $workbook = Excel::Writer::XLSX->new( 'spreadsheet.xlsx' ) or die $!; my $worksheet = $workbook->add_worksheet( 'One' ); my $ref = [ [ 'Day', 'Max. Temp.', 'Min. Temp' ], [ 1, -3.1, -6.4 ], [ 2, -2.3, -7.2 ], [ 3, -4.7, -6.8 ], [ 4, -3.1, -9.5 ], [ 5, 1.1, -11.4 ], [ 6, 1.2, 0.3 ], [ 7, 5.3, 0.7 ], [ 8, 7.7, 1.5 ], [ 9, 1.5, -2 ], [ 10, 1, -1.1 ] ]; $worksheet->write_col( 0, 0, $ref ); my $chart = $workbook->add_chart( type => 'line' ); $chart->set_x_axis( name => 'Day' ); $chart->set_y_axis( name => 'Temperature (° Celsius)' ); $chart->set_style( 11 ); $chart->add_series( values => [ 'One', 1, $#$ref, 1, 1 ], name => '=One!$B$1', ); $chart->add_series( values => [ 'One', 1, $#$ref, 2, 2 ], name => '=One!$C$1', ); 

我不认为这个function在Excel中是可用的,所以在Excel :: Writer :: XLSX中是不可能的。

至less它在Excel中不可用作为单个操作。 有一些解决方法,例如在这里和这里 ,但是你目前没有在Excel :: Writer :: XLSX中的那个级别的控制。

Droplines / High-Low线将在未来版本中添加。 这可能是一个可以接受的解决方法。