Perlを使用してExcelのXLSファイルにデータを保存するにはどうすればよいですか?
質問
次のように Perl を使用して Excel ファイルを .csv として保存できます。
print "Content-type: application/vnd.ms-excel\n";
print "Content-Disposition: attachment;filename=\"file name.xls\"\n\n";
print"Fruits, Cost";
#その後、結果をループします。
ただし、色を使用したいので、これを .xls として保存する必要があります。誰か助けてくれませんか?
解決
私は非常にあなたのニーズに合わせてスプレッドシート:: 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();
他のヒント
リッチテキストなどの非常に高度な機能が必要ない場合は、次のように使用できます。 スプレッドシート::WriteExcel これは非常にうまく機能し、オーバーヘッドもかなり低くなります。
編集:使用 my $workbook = Spreadsheet::WriteExcel->new('-');
ワークブックを STDOUT に直接書き込むには、
所属していません StackOverflow