Как сохранить данные в файл Excel XLS с помощью Perl? - PullRequest
0 голосов
/ 02 декабря 2009

Я могу сохранить файл Excel как .csv, используя perl, например:

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

# Затем цикл с результатами.

Все же мне нужно сохранить это как .xls, потому что я хочу использовать цвета. Кто-нибудь может помочь?

Ответы [ 3 ]

7 голосов
/ 26 января 2010

Я настоятельно рекомендую 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 голосов
/ 02 декабря 2009

Если вам не нужны сверхъестественные функциональные возможности, такие как форматированный текст, вы можете использовать Spreadsheet :: WriteExcel , который работает довольно хорошо, и при этом требует слишком мало накладных расходов.

Редактировать: используйте my $workbook = Spreadsheet::WriteExcel->new('-');, чтобы ваша рабочая книга была записана непосредственно в STDOUT.

0 голосов
/ 02 декабря 2009
...