2010-02-19

CentOS5.4環境でexcelファイルをrubyで読み込む

このエントリーをブックマークに追加 このエントリーを含むはてなブックマーク
rubyではSpreadsheetというのでExcelファイルを読み込めます。
インストールは、
sudo gem install spreadsheet
でOKです。

なのですが、CentOS5.4の環境で試したところ
WINDOWS-932がUTF-8に変換できないよ!
といわれてファイルを読み込むことができませんでした。
ちなみにrubyのバージョンは1.8.7です。

たしかに
iconv -l
と利用できる文字コードを見ると
WINDOWS-932
がありませんでした。

なので、
sudo vi /usr/local/lib/ruby/gems/1.8/gems/spreadsheet-0.6.4.1/lib/spreadsheet/excel/internals.rb
で、以下のようにWINDOWS-932を指定している部分をCP932に変更したら読めるようになりました。

# 932 => "WINDOWS-932", #(Japanese Shift-JIS)
932 => "CP932", #(Japanese Shift-JIS)

ちなみにrubyのインストールprefixを/usr/localにしている場合です。
別に
SHIFT-JIS
とかでもよいのかもしれませんが、CP932にしてみました。
コメントを投稿