Railsで使えるGem Windows

WindowsのRubyでExcelを操作~WIN32OLE

投稿日:

WIN32OLE

WIN32OLEは、windows用のrubyに標準添付されるライブラリでwindowsのソフトを操作することができる.

class WIN32OLE

おおむねここのとおり
Win32OLE 活用法 【第 2 回】 Excel

環境は、
Windows7 professional 64bit
Microsoft Excel 2010
ruby2.1.5

hello world

適当にxlsファイルを用意して、絶対パスを指定する.
Applicationオブジェクトをつくって、workbookを操作させるイメージで.
公式のサンプルはExcelを使ってxlsファイルを印刷する例.

Excelオブジェクトモデル

vbaをやってればだいたい同じ.
Excel VBA入門 (全19回)
Applicationオブジェクトは複数のworkbookオブジェクトを持ち、workbookオブジェクトは複数のworksheetオブジェクトを持ち、workbookオブジェクトの中にある任意の範囲をRangeオブジェクトで表すことができる.

絶対パスを取得するメソッド

ファイルは絶対パスを取らなければいけないのでるびまから引用.

パースの方法1 UsedRangeを使う

Excelシートから指定の範囲のデータを抜き出す(パース)の方法の一つ目はUsedRangeを使うこと
使用されている範囲をRangeオブジェクトにしてくれる.
Rowsプロパティ、ColumnsプロパティはRangeオブジェクトの集合.

パースの方法2 行数列数を直接指定する

ごちゃごちゃしたデータの場合、行数列数を直接指定することもできる.

値を取るメソッド

Worksheetを拡張して、[]というメソッドで複数の値を取る

すると、こんなかんじで値が取れる.

-Railsで使えるGem, Windows
-, ,

執筆者:

関連記事

Railsのテーブル並び替えを実装する

    環境 RailsにTwitter Bootstrapを設定する~twitter-bootstrap-rails 参考 #147 Sortable Lists (revise …

no image

Rails3.2でOpenDocumentText(.odt)を作成~serenity

  これも途中経過デス   odtはOpenOffice.orgのwriterなんかの保存形式 serenityはerbライクなodtテンプレートから変数を利用して文書を作成してく …

Backbone.jsのためにRails3.2でJSON APIをつくる~RABL

TwitterBootstrapでアイコンが微妙な感じだったらFontAwesomeを試してみるといい

かもしれない fortawesome.github.com/Font-Awesome/ hallojsで使ってるのは上 github.com/bokmann/font-awesome-rails gi …

no image

Rails3.2でユーザー権限を細かく設定~Devise + cancan

      参考 cancan でモテカワ♥愛され権限管理 How To: Integrate with CanCan for roles management &nbs …