Perlを使用してExcelのXLSファイルにデータを保存するにはどうすればよいですか?

StackOverflow https://stackoverflow.com/questions/1833820

  •  11-09-2019
  •  | 
  •  

質問

次のように 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 に直接書き込むには、

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top