Excel::Template

が良い感じです。HTML::Templateのノリで結構使いやすい。いや、バイナリなExcelをプログラムから直接扱う(編集する)のが嫌だったんですよね。そこでちょこちょこと探していたところでこれを見つけました。

まずはテンプレートファイルを用意 excel_template.xml

<workbook>
 <worksheet name="tester">
     <row>
         <cell text="HOME" />
         <cell text="PATH" />
         <cell text="NAME" />
     </row>
     <row>
         <cell text="$HOME" />
         <cell text="$PATH" />
         <cell text="$NAME" />
     </row>
 </worksheet>
</workbook>

次に上のテンプレートからExcelを作る excel_template.pl

#!/usr/bin/perl
use strict;
use warnings;
use Excel::Template;
use Encode qw(decode);

my $template = Excel::Template->new(
 filename => "excel_template.xml",
);

$template->param(
 HOME => $ENV{HOME},
 PATH => $ENV{PATH},
 NAME => decode('eucjp', 'ほげ'),
);

$template->write_file('excel_template.xls');

制御構造も扱えるから中々良いんじゃない?

0 コメント:

Twitter Updates

About Me

My photo
1984/07/05生 プログラマー

サイト内検索