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を使う方がいいみたい。
ローカルの家計簿のエクセルファイルを読み込んで、
テキストに落とすプログラムを書こうとしてみたんだけど、ちょいとつまったのでメモ。
PERLHACKSに便利そうなPerlモジュールSpreadsheet::Readが紹介されていた。
なにやら簡単にexcelからデータを読めそうだったので、
とりあえず試してみたが、まだ日本語をちゃんと扱えないようだった。
Spreadsheet::Readは、Spreadsheet::ParseExcelのラッパーで、
OpenOfficeもExcelも同じインターフェイスで扱える。
だからPERLHACKSで紹介されていたんだけども、
Excelって、セルの一つ一つにエンコード情報がついていて、
Spreadsheet::Readでは、まだその情報が取ってこれない。
なので、一つのセルに入る程度の短い文字列でencode_guessをするしかなかったりする。
そりゃ、ASCII,UTF16-BEの区別がさすがにできない場合が出てくる。
将来的には、encのハッシュが追加されるようなんだけど、
今のところはSpreadsheet::ParseExcelを使う方がいいみたい。