2012-06-15 299 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