2009-12-02 3 views
0

Я могу сохранить файл первенствовать в формате CSV, используя Perl, как это:Как сохранить данные в файле excel xls с помощью perl?

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»? Я нахожу, что есть много хороших учебников по этому вопросу. –

ответ

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

Смежные вопросы