2012-06-15 257 views
2

我新的Perl和要绘制使用Excel的图表。我发现了一些代码,但是当我尝试执行它时,它只在命令提示符下显示“按任意键继续...”。该代码可由其他人执行。我也尝试下载Excel作家软件包并将它们放在lib文件夹中,但它根本没有执行。代码被发现绝对可执行。无法执行perl脚本

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

你看到它应该创建的文件吗? –

+0

没了..没有创建 – user1204868

+1

“他们放置在lib文件夹” - 这不是安装Perl包的适当方式。(尽管它有机会看到一些错误消息,如果出事了)做了一些谷歌-ING。 –

回答

3

这里是奥列格是指他的答案:

根据不同的操作系统你上,用自己的方式来调用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! 

现在,当你运行你的程序,它应该打印是这样的:

[email protected]:~> perl xsltest.pl 
/home/simbabque/ 
[email protected]:~> 

在我的情况下,工作目录是一个我从打电话的Perl。但它可能是另一个。

虽然没有打印出任何东西到屏幕上,它应该在我的工作目录下创建一个名为chart.xlsx文件。我可以在命令行上用ls查找它,或者说file chart.xlsx来查看它是否包含在Excel文件中。

[email protected]:~> file chart.xlsx 
chart.xlsx: Zip archive data, at least v2.0 to extract 

我现在可以在Excel或Libre Office中打开它。


如果您使用的是Windows,打开资源管理器,并指向其中cwd功能说。在那里你可以双击你的文件在Excel中打开它。如果是同一文件夹中的程序,你也可以使用文本编辑器的公开对话,在chart.xlsx单击鼠标右键,单击开放代替选择

1

正在执行。您可以在某个位置创建Excel表格,而无需打印任何内容。当您的脚本成功完成时,“按任意键继续...”提示将由您的系统打印。如果您不确定脚本工作目录位于何处,则可以使用Cwd模块进行检查。还要确保工作目录对你是可写的。

+0

我不明白..对不起。我对这个计划很陌生。 – user1204868