ライブラリ > excel_lib

概要



excel_lib


  • rubyのWIN32OLEライブラリを用いるとExcelが操作できます。
  • しかし、ExcelにはWorkbook,Worksheet,Rangeオブジェクトなどがありますが、 rubyのWIN32OLEで扱うオブジェクトはすべてWIN32OLEクラスになってしまいます。
  • その問題を解決し、Workbook,Worksheet,Rangeオブジェクトを別個のクラスとして扱うためのライブラリがRubyでExcelのexcel_libとなります。

  • このライブラリを使うと以下の利点があると思います。
  • 要するにWIN32OLEレベルでExcelをさわるよりこのライブラリを使った方が扱いやすいと思います。
  1. Workbook,Worksheet,Rangeオブジェクトを別個のクラスとして扱えるためわかりやすい。
  2. Workbook,Worksheet,Rangeオブジェクトを拡張したい場合、対応するクラスを拡張すればよい。
  3. 各クラスは元のオブジェクトを保持しており、実装していないメソッドも実行でき、拡張が容易に行える。
  4. ライセンスもrubyライセンスなので改変・配布が容易に行える。
  5. ライブラリはrubyスクリプト1ファイルなので解析が容易に行える。

my_excel_lib


  • excel_libを自分に使いやすいように変更してmy_excel_libとしました。

使用例


  • 以下を実行すると、すべてのセルの値を出力し、2列目のセルの値が存在する場合testに変えたtest2.xlsを作成します。

-
require 'my_excel_lib'
 
Excel.run(false) { |excel|
  book = excel.copy_book("test.xls")
  book.worksheets.each { |sheet|
    sheet.used_range.rows.each { |row|
      puts row.value.join(",")
      if row[1]
        row[1] = "test"
      end
    }
    book.save("test2.xls")
  }
}
 
最終更新:2010年07月29日 10:20
添付ファイル