2011年11月27日日曜日

Perl で Excelファイルに書き込みをするには

Linux の環境で、Perl でExcelファイルに書き込みができるだろうかということを調べてみました。

●以下のサイトには、Excelファイルを新規に作成して書き込みを行うための情報が記載されています。
Spreadsheet::WriteExcel を使用します。(なお、予め、cpanでSpreadsheet::WriteExcel を取り込んでおきます。)

http://homepage3.nifty.com/hippo2000/perltips/Spreadsheet/WriteExcel.htm

ただし、Excelファイルを新規に作成するのではなくて、既存のExcelファイルに書き込みをするにはどうすればよいかというと、次のサイトに書いてある情報が参考になります。 Spreadsheet::ParseExcel::SaveParser を使用します。(なお、予め、cpanでSpreadsheet::ParseExcel::SaveParser を取り込んでおきます。)

http://search.cpan.org/~kwitknr/Spreadsheet-ParseExcel-0.2603/ParseExcel/SaveParser.pm

やってみると、確かに既存のExcelファイルに追加で書き込みできることがわかりました。ただし、元のExcelファイルで、式が定義されていたセルが書き込み後には 0などの数値に変化していました。


●Excel2007形式で、ファイルを作成するにはExcel::Writer::XLSXを使用することで対応できます。


use Excel::Writer::XLSX;                                   # Step 0
   my $workbook = Excel::Writer::XLSX->new( 'perl.xlsx' );    # Step 1
    $worksheet = $workbook->add_worksheet();                   # Step 2
    $worksheet->write( "A1", 'Hi Excel!' );                    # Step 3
   





0 件のコメント:

コメントを投稿