Cómo guardar datos en el archivo de Excel XLS usando Perl?
Pregunta
Soy capaz de guardar el archivo de Excel como CSV usando Perl como esto:
print "Content-type: application/vnd.ms-excel\n";
print "Content-Disposition: attachment;filename=\"file name.xls\"\n\n";
print"Fruits, Cost";
#Then en lazo con los resultados.
Sin embargo, tengo que guardar esto como .xls porque yo quiero usar colores. Cualquiera puede ayudar?
Solución
Le recomiendo Hoja de cálculo :: WriteExcel para sus necesidades. La biblioteca está completamente escrito en Perl, por lo que todo lo que necesita hacer es subir la biblioteca CPAN a su sitio web y especificar la ubicación específica. La documentación de la biblioteca y el fragmento de código a continuación deben empezar.
#!/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();
Otros consejos
Si usted no necesita la funcionalidad de super-lujo, tales como texto enriquecido, puede utilizar Hoja de cálculo :: WriteExcel que funciona bastante bien y es bastante baja sobrecarga también.
Editar:. my $workbook = Spreadsheet::WriteExcel->new('-');
utilización de haber escrito su libro directamente a la salida estándar