Tag Archives: roo

roo:スプレッドシートを操るRubyライブラリ

1
Filed under Ruby
Tagged as , , ,

rooとは、スプレッドシートをパース出来るRubyライブラリです。
Excel(.xls)やOpenOffice.orgのCalc(.ods)、さらに未検証ですが、Google DocumentsのSpreadSheetも操作できるようです!
なかなか面白いライブラリだし、ちょっとしたツールとして便利ですよ!

参考サイト(2015-06-04更新)

インストール手順

rooのインストールは、RubyGemsで楽勝です。
とりあえず、私は久しぶりのRubyGemsなので、アップデート確認から。

$ sudo gem update --system

これで、1.8.17にアップデートされました。
rooの情報を見てみます。

$ gem search -r roo
 
*** REMOTE GEMS ***
(略)
roo (1.10.1)

1.10.1ということで、サイトにある情報より新しくなっています。
で、次のコマンドでインストールします!

$ sudo gem install roo

テストスクリプト1:読み込み

「OpenOffice.org Calcのドキュメント(.ods)を開いて、値を参照する」こういうRubyスクリプトは次のようになります。

1
2
3
4
5
6
7
8
9
10
11
12
require 'rubygems'
require 'roo'
 
# 読み込み.
ods = Roo::Spreadsheet.open("Test.ods")
 
# テスト出力.
p ods.cell(1,1) # 1行目、1列目の値.
p ods.cell(1,2) # 1行目、2列目の値.
 
p ods.last_column # 値がある最後の列番号.
p ods.last_row    # 値がある最後の行番号.

超簡単!!!

テストスクリプト2:ループ

1列目にデータがある行の2列目のデータを出力する処理するスクリプトは次のような感じになります。

1
2
3
4
5
1.upto(ods.last_row) do |line|
 if ods.cell(line,1) != nil
 	p ods.cell(line,2)
 end
end

全く問題ないですね!
これは素晴らしいライブラリ!!


[AD]

↓これ、面白そうだなぁー!エンジニア仲間でワイワイやりたい感じ。

アマゾンのサーバでエラーが起こっているかもしれません。
一度ページを再読み込みしてみてください。