goo blog サービス終了のお知らせ 

役立たずのプログラマーブログ

自分の得た知識や経験をブログに書くことで整理し、考えをまとめることが目標

Spreadsheet::ReadでExcelファイルを読み込もうとしたが…

2008-01-09 19:44:47 | Perl
Perlの勉強用に家計簿CGIを作ろうと思って、その前段階として、
ローカルの家計簿のエクセルファイルを読み込んで、
テキストに落とすプログラムを書こうとしてみたんだけど、ちょいとつまったのでメモ。


PERLHACKSに便利そうなPerlモジュールSpreadsheet::Readが紹介されていた。
なにやら簡単にexcelからデータを読めそうだったので、
とりあえず試してみたが、まだ日本語をちゃんと扱えないようだった。

Spreadsheet::Readは、Spreadsheet::ParseExcelのラッパーで、
OpenOfficeもExcelも同じインターフェイスで扱える。
だからPERLHACKSで紹介されていたんだけども、
Excelって、セルの一つ一つにエンコード情報がついていて、
Spreadsheet::Readでは、まだその情報が取ってこれない。
なので、一つのセルに入る程度の短い文字列でencode_guessをするしかなかったりする。
そりゃ、ASCII,UTF16-BEの区別がさすがにできない場合が出てくる。

将来的には、encのハッシュが追加されるようなんだけど、
今のところはSpreadsheet::ParseExcelを使う方がいいみたい。

最新の画像もっと見る