BLOGTIMES
2015/01/03

Ruby で .xlsx ファイルの中身を読み取る

  ruby  excel 
このエントリーをはてなブックマークに追加

以前、Java で Apache POI を使って Excel ファイルを読み取るプログラムを書きましたが、今回は Ruby で .xlsx ファイルの読み取りに挑戦します。昔、MSMQ を呼び出した時のように WIN32OLE*1 を使う手もあるのですが、Windows 環境専用になってしまうので今回は適当な Gem を導入することにしました。

.xlsx を読み込むことができる Gem としては roo-rb/rooweshatheleopard/rubyXL がよく使われているようですが、今回は読み込みのみの操作なので前者の Roo を使ってみます。

以下、作業メモ。

インストール

導入はいつも通り gem install roo で一撃です。

簡単なサンプルを動かしてみる

セルは行番号と列番号を指定して取り出す方式なので、以下のような感じにするとtsv形式で値を取り出すことができます。
意外とスッキリ書けるのでいいですね。

roo_test.rb

require 'rubygems' require 'roo' s = Roo::Excelx.new("Book1.xlsx") s.default_sheet = s.sheets.first s.first_row.upto(s.last_row) do |row| cols = s.first_column.upto(s.last_column).map do |col| s.cell(row, col) end puts cols.join("\t") end

トラックバックについて
Trackback URL:
お気軽にどうぞ。トラックバック前にポリシーをお読みください。[policy]
このエントリへのTrackbackにはこのURLが必要です→https://blog.cles.jp/item/7308
Trackbacks
このエントリにトラックバックはありません
Comments
愛のあるツッコミをお気軽にどうぞ。[policy]
古いエントリについてはコメント制御しているため、即時に反映されないことがあります。
コメントはありません
Comments Form

コメントは承認後の表示となります。
OpenIDでログインすると、即時に公開されます。

OpenID を使ってログインすることができます。

Identity URL: Yahoo! JAPAN IDでログイン