2009-12-02 45 views
0

我可以使用perl將excel文件保存爲.csv,如下所示:如何使用perl在excel xls文件上保存數據?

print "Content-type: application/vnd.ms-excel\n"; 
print "Content-Disposition: attachment;filename=\"file name.xls\"\n\n";  
print"Fruits, Cost";  

#Then循環結果。

然而我需要將其保存爲.xls因爲我想使用顏色。任何人都可以幫忙嗎?

+0

您是否嘗試過使用Google搜索「perl excel」?我發現在這個主題上有很多很好的教程。 – 2009-12-02 16:01:08

回答

7

我強烈建議Spreadsheet::WriteExcel爲您的需要。該庫完全用Perl編寫,因此您只需將CPAN庫上傳到您的網站並指定具體位置即可。下面的庫文檔和代碼片段將幫助您開始。

#!/usr/bin/perl -w 
use strict; 
use lib qw(./lib); # Place for the downloaded WriteExcel library 
use Spreadsheet::WriteExcel; 

# Send headers 
print "Content-type: application/vnd.ms-excel\n"; 
print "Content-disposition: attachment;filename=rollcharts.org.xls\n\n"; 

# Create a new workbook and add a worksheet 
my $workbook = Spreadsheet::WriteExcel->new("-"); 
my $worksheet = $workbook->add_worksheet("Colorful Example"); 

# Create a new format with red colored text 
my $format = $workbook->add_format(); 
$format->set_color('red'); 

# Add header  
$worksheet->write(0, 0, "Fruit.", $format); 
$worksheet->write(0, 1, "Cost", $format); 

# Add Data 
$worksheet->write(1, 0, "Apple"); 
$worksheet->write(1, 1, "10.25"); 

# Close Workbook 
$workbook->close(); 
3

如果您不需要超級花哨功能,如豐富的文字,你可以用它Spreadsheet::WriteExcel很好地工作,是相當低開銷太大。請使用my $workbook = Spreadsheet::WriteExcel->new('-');將您的工作簿直接寫入STDOUT。

+0

感謝Dan的回覆,但有沒有辦法做到這一點,而無需安裝任何庫,因爲我需要把我的代碼放在我沒有太多權限的服務器上。再次感謝。 – Luci 2009-12-03 16:35:35