我是Perl的新手,想要使用Excel绘制图表。我找到了一些代码,但是当我尝试执行它时,它只在命令提示符下显示“按任意键继续...”。代码可由其他人执行。我还尝试下载Excel编写器包并将它们放在lib文件夹中,但它根本没有执行。代码被发现绝对是可执行的。
#!/usr/bin/perl
use strict;
use warnings;
use Excel::Writer::XLSX;
my $workbook = Excel::Writer::XLSX->new('chart.xlsx');
my $worksheet = $workbook->add_worksheet();
# Add the worksheet data the chart refers to.
my $data = [
['Category', 2, 3, 4, 5, 6, 7],
['Value', 1, 4, 5, 2, 1, 5],
];
$worksheet->write('A1', $data);
# Add a worksheet chart.
my $chart = $workbook->add_chart(type => 'column');
# Configure the chart.
$chart->add_series(
categories => '=Sheet1!$A$2:$A$7',
values => '=Sheet1!$B$2:$B$7',
);
__END__
有没有人有任何想法?
答案 0 :(得分:3)
以下是Oleg的回答:
根据您所使用的操作系统,调用perl程序的方式可能会略有不同。这就是我的样子。
simbabque @盒:〜> perl xsltest.pl simbabque @盒:〜>
现在,如果您不确定工作目录的位置,请编辑如下代码:
#!/usr/bin/perl
use strict;
use warnings;
use Excel::Writer::XLSX;
use Cwd; # <--- new line!
print cwd(), "\n"; # <--- new line!
现在,当你运行你的程序时,它应该打印出这样的东西:
simbabque@box:~> perl xsltest.pl
/home/simbabque/
simbabque@box:~>
就我而言,工作目录是我正在调用的perl。不过,它可能是另一个。
虽然它不会在屏幕上打印任何内容,但它应该在我的工作目录中创建名为chart.xlsx
的文件。我可以在命令行上使用ls
查找它,或者说file chart.xlsx
以查看它是否是Excel文件。
simbabque@box:~> file chart.xlsx
chart.xlsx: Zip archive data, at least v2.0 to extract
我现在可以在Excel或Libre Office中打开它。
如果您使用的是Windows,请打开资源管理器并将其指向cwd
功能所说的位置。在那里,您可以双击文件以在Excel中打开它。如果它与程序位于同一文件夹中,您也可以使用文本编辑器的打开对话框,右键单击chart.xlsx
并单击打开,而不是选择
答案 1 :(得分:1)
正在执行。您可以在文件中的某个位置构建Excel表,而无需在屏幕上打印任当脚本成功完成时,系统会打印“按任意键继续...”提示。如果您不确定脚本工作目录的位置,可以使用Cwd
模块进行检查。还要确保工作目录是可写的。