日本語

OHKUBOさんのコメントを受けて、日本語の出力についても調べてみた。自分のところのWriteExcel(Version2.10)ではできた。
こんな感じに指定する。

#!/usr/bin/perl -w
# 文字コードsjisで。

use strict;
use Encode;
use Spreadsheet::WriteExcel;

my $encoding = 'shiftjis';      # このファイルの文字コード

my $workbook  = Spreadsheet::WriteExcel->new("excelsample.xls");

# 装飾設定(MS明朝、サイズは24、文字色は赤)
my $format  = $workbook->add_format(font  => 'MS Mincho');
$format->set_size(24);
$format->set_color('red');

foreach my $sheet (1..10) {
  my $sheet_name = "ためしですよ $sheet"; # 日本語のシート名
  Encode::from_to($sheet_name, "$encoding", 'utf16');
  my $worksheet = $workbook->add_worksheet("$sheet_name", 1);

  foreach my $num (1..10) {
    my $string = "$sheet の $num番目";
    Encode::from_to($string, "$encoding", "utf16");
    $worksheet->write_unicode($num-1, $num-1, "$string", $format);
  }
}

fotolifeを使ってみた。こんな目的で使う人はいなさそうなサービスだけど、まぁいいや。

http://f.hatena.ne.jp/tamago_girai/20050211002215

上のソースで作成したExcelファイルの画像が見れます。

ppmでuninstallして再度installしてみたのだが、ppmのインストールログでは2.11となっているのに、実際のExcelWrite.pmのファイル内には、

$VERSION = '2.10'; # Five Sugars Please

と書かれていて、ちょい矛盾を感じた。