gpt4 book ai didi

perl - 为什么我不能使用 Perl 的 Spreadsheet::WriteExcel 将图表添加到我的 Excel 电子表格

转载 作者:行者123 更新时间:2023-12-04 21:26:30 25 4
gpt4 key购买 nike

使用 Spreadsheet::WriteExcel 在电子表格中创建图表时,它创建的文件不断出现错误读取

Excel found unreadable content in "Report.xls"



并问我是否要恢复它。我已经弄清楚代码中的问题行是我实际插入图表的位置,
$chartworksheet->insert_chart(0, 0, $linegraph, 10, 10);

如果我注释掉这一行,数据就很好(当然,没有图表)。其余相关代码如下(此处未定义的任何变量均在代码前面定义,如 $lastrow )。
printf("Creating\n");
my $chartworksheet = $workbook->add_worksheet('Graph');
my $linegraph = $workbook->add_chart(type => 'line', embedded => 1);
$linegraph->add_series(values => '=Data!$D$2:$D$lastrow', name => 'Column1');
$linegraph->add_series(values => '=Data!$E$2:$E$lastrow', name => 'Column2');
$linegraph->add_series(values => '=Data!$G$2:$G$lastrow', name => 'Column3');
$linegraph->add_series(values => '=Data!$H$2:$H$lastrow', name => 'Column4');
$linegraph->set_x_axis(name => 'x-axis');
$linegraph->set_y_axis(name => 'y-axis');
$linegraph->set_title(name => 'title');
$linegraph->set_legend(position => 'bottom');
$chartworksheet->activate();
$chartworksheet->insert_chart(0, 0, $linegraph, 10, 10);
printf("Finished\n");

我在这里完全不知所措,我找不到任何答案。请帮忙!

最佳答案

看表情:

'=Data!$D$2:$D$lastrow'

$lastrow Spreadsheet::WriteExcel 中的一些约定或者它是脚本中要插入字符串表达式的变量吗?如果它是你的 var,那么这段代码可能不会在单引号内做你想要的,你可能想使用类似的东西
'=Data!$D$2:$D' . $lastrow
"=Data!\$D\$2:\$D:$lastrow"
sprintf('=Data!$D2:$D%d',$lastrow)

关于perl - 为什么我不能使用 Perl 的 Spreadsheet::WriteExcel 将图表添加到我的 Excel 电子表格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2320541/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com