Perl写excel来创build包含各种工作表中的公式的单元格的图表

是否有可能使用perl的Excel :: Writer :: XLSX模块,并创build具有包含公式的单元格的图表?

这是我在做什么:

1)用多个工作表创build一个xlsx文件 – 没有问题

2)在一个工作表中创build图表与其他工作表中的常数值 – 没有问题

3)创build一个包含公式单元格的工作表 – 没有问题(我可以看到输出xlsx中的值)

4)试图从#3创build一个图表,尽pipe我可以看到上面提到的值,但它是空的

请帮忙!!!

第4项应该工作。 这里是一个例子:

#!/usr/bin/perl use strict; use warnings; use Excel::Writer::XLSX; my $workbook = Excel::Writer::XLSX->new( 'chart_column.xlsx' ); my $worksheet1 = $workbook->add_worksheet(); my $worksheet2 = $workbook->add_worksheet(); my $bold = $workbook->add_format( bold => 1 ); # Add the worksheet data that the charts will refer to. my $headings = [ 'Number', 'Batch 1', 'Batch 2' ]; my $data = [ [ 2, 3, 4, 5, 6, 7 ], [ 10, 40, 50, 20, 10, 50 ], [ 30, 60, 70, 50, 40, 30 ], ]; # Add the data to worksheet2. $worksheet2->write( 'A1', $headings, $bold ); $worksheet2->write( 'A2', $data ); # Add formulas in worksheet1 to refer to the data in worksheet2. for my $row (1 .. 7) { $worksheet1->write( $row -1, 0, '=Sheet2!A' . $row ); $worksheet1->write( $row -1, 1, '=Sheet2!B' . $row ); $worksheet1->write( $row -1, 2, '=Sheet2!C' . $row ); } # Create a new chart object. In this case an embedded chart. my $chart = $workbook->add_chart( type => 'column', embedded => 1 ); # Configure the series. $chart->add_series( name => '=Sheet1!$B$1', categories => '=Sheet1!$A$2:$A$7', values => '=Sheet1!$B$2:$B$7', ); $chart->add_series( name => '=Sheet1!$C$1', categories => '=Sheet1!$A$2:$A$7', values => '=Sheet1!$C$2:$C$7', ); # Insert the chart into the worksheet (with an offset). $worksheet1->insert_chart( 'D2', $chart, 25, 10 ); $workbook->close(); __END__ 

这里是输出:

在这里输入图像说明

所以它看起来像在Excel中工作。 但是,它可能不适用于某些不计算公式结果的电子表格应用程序。