rubyXLを使ってExcelを操作したい

あらすじ

ExcelファイルをRubyで操作したい。

以前WIN32OLEから直接触ってみたけど、ライブラリを使って簡単に触ってみたい。

環境

  • Windows 7
  • Ruby 2.1.5
    • rubyXL 3.3.4
  • Microsoft Office 2010

参考

意外とある。

が、開きたいファイル、保存したいファイルが何なのか(xlsなのかxlsxなのか)によって使うライブラリを選定する必要あり。

xlsx読めない!とかxlsで書きこめない!とかある。

やりたいこと

  1. 共有サーバの中にあるExcelファイルを開く
  2. 特定のセル(B3みたいな)に値が入っているか確認する
    • 入っていれば次の処理へ
    • 入っていなければn個下のセル(B6みたいな)に値が入っているか確認する…の繰り返し
  3. 空いているセルに値を挿入
  4. 保存して終わり

よくありがちな「定期的に台帳の一番下に定型文を挿入したい」系の話。

ソース

Gistにあげた。

今回はrubyXLというライブラリを使ってみた。

わりと簡単に書けて、やりたいこと(開く、値読む、値書く、保存する)がすぐできたのでこれで。

これで便利。(^ー^)

関連記事(この記事の初版より古い記事はリンクがグレーで表示されます)

  1. 2017/03/30 [Ruby] rbenvを最新にして新しいバージョンのRubyをインストールできるようにする
  2. 2016/08/31 [Ruby] Rubyの変数DATABASE_URLでハマった話
  3. 2016/06/05 [Ruby] Rubyで自然言語っぽくcrontab管理できるwheneverを使う
  4. 2016/02/17 [Ruby] [Mac] El Capitan上に古いpumaをインストールすると失敗する
  5. 2014/08/28 [Sphinx] [Ruby] [イベント] kawasaki.rb #015 でSphinx導入事例の発表をしてきました #kwskrb #sphinxjp
  6. 2014/07/13 [Sphinx] [Ruby] [イベント] kawasaki.rb #013 でSphinx導入事例の発表をしてきました と #011 #012 参加記録 #kwskrb #sphinxjp
  7. 2014/04/01 [Ruby] [Jekyll] [イベント] kawasaki.rb #010 で発表してきました #kwskrb
  8. 2014/01/28 [Jekyll] [GitHub] [Ruby] Jekyllプロジェクトへpull requestを行う手順(したとは言っていない)
  9. 2013/12/24 [Ruby] RubyでQRコードを生成してみる
  10. 2013/09/07 [Ruby] [Git] [Jekyll] Jekyllバージョンアップの際に思いのほか手こずった話 てっく煮さん製プラグインの更新に追従したい編
  11. 2013/09/03 [Ruby] [Rails] Ruby1.9.3のWebrickで出るCould not determine content-length...エラーを消す方法(2.0.0では解決済)
  12. 2013/08/26 [Ruby] ソースコード中に0xC2A0(UTF-8のNO-BREAK SPACE)が混ざり実行できなくて困った話
  13. 2013/08/20 [Ruby] [Rails] [Redmine] Rails3のログ出力にANSIカラーコードを使用しない設定
  14. 2013/08/09 [Ruby] [Redmine] [MySql] [StartUp] WindowsにRedmine2.3をインストールする手順と、プラグイン作成用メモ
  15. 2013/08/07 [Ruby] [Jekyll] [Git] Jekyllバージョンアップの際に思いのほか手こずった話 Jekyll Bootstrapの更新に追従したい編