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
-, ,

執筆者:

関連記事

Redmine2.5をwar化してTomcatで動かしてみた~warbler

By: Patrick Hoesly – CC BY 2.0 JRuby on Railsアプリをwar化してtomcat7で動かしてみた〜warbler 次に、Redmineをwar化し …

Rails5でコントローラーの記述を省略~inherited_resources

By: Simon Matzinger – CC BY 2.0 目次1 inherited_resources2 Gemfile3 使い方 inherited_resources inhe …

状況に応じてRailsのフォームの種類を変える

  前提 railsでdocxを生成する動画 docxを生成するアプリは変数を自動で読み込むけど、状況に応じてフォームの種類を変えたい. Railsでは変数に応じてフォームの種類を用意してい …

Rails3.2でページネーションをTwitter Bootstrapに対応させる~kaminari

github.com/amatsuda/kaminari 目次1 Gemfile & bundle2 設置3 テーマの作成 Gemfile & bundle [crayon-587ea …

Rails3.2とBackbone.jsでGoogle CalendarライクなカレンダーにCRUD~fullcalendar-rails

目次1 前回2 READ ~データベースからイベントを読み込んでカレンダーに表示する3 CREATE~カレンダーからイベントを登録する4 UPDATE1~カレンダーのイベントをクリックしてイベントを編 …