2012-02 << 2012-03 >> 2012-04

2012-03-05 (月)

*[ruby] Google Spreadsheet API for Ruby

昨日書いたRubyからGoogle Spreadsheet API呼ぶライブラリを公開しておきます.標準のライブラリだけにしか依存してないのでたぶん簡単につかえます.

https://github.com/binzume/simple-googlespreadsheet-ruby

サンプル:

require_relative 'spreadsheet'

email = "your_gmail.com_account"
passwd = "*************"
spreadsheet_key = "*****************************************"

# login
session = GoogleSpreadsheet.login(email,passwd)

# get first worksheet
ws = session.spreadsheet_by_key(spreadsheet_key).worksheets[0]

# sheet name
puts ws.title

# get A2 value ( ws[row, col] )
p ws[2, 1]

# update A2
ws[2, 1] = "aihghaop"

data = [
  ["asdfghjk", "hoge", "12345"],
  ["0", "ma<>'aaa", "ag@aga"],
]

# fill A3,B3,C3 , A4,B4,C4
ws.set_cells(3,1,data)

せっかくなので,gemのgoogle-spreadsheet-rubyとそっくりにしてみました.ソース見れば分かりますが,無理やりです.

ws[2,1]とかに代入すると,即座にワークシートのセルに書き込まれます.まともなブラウザで開いていればすぐに画面にも反映されるので,見ていても面白いかもしれません.一応,矩形の範囲に一気に値をセットしたりできますが,この辺は良いインターフェイスを後で考えよう.

ずっと自分用のSubversionリポジトリで開発してきたけど,今後はなるべくGitHubとか使っていこう.仕事で使うのも最近はsvnからgitになりつつあることだし.

gitはプロジェクトごとにリポジトリ分けないといけないのが一番面倒なのだけど,GitHub上でモジュールの依存関係の管理まで一緒にやって欲しくなるなぁ….

rubyは[]と[]=で演算子が分かれてるのが良いですね.C++も分けてくれればstd::mapの実装とかもう少しきれいになった気がします.

2012-02 << 2012-03 >> 2012-04