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

執筆者:

関連記事

全文検索エンジンGroongaをRubyから利用するライブラリのチュートリアルをやってみた〜rroonga

By: Kevin Jarrett – CC BY 2.0 目次1 Groonga2 Groongaのインストール3 rroongaのインストール4 チュートリアルの開始5 データベースの …

Backbone.jsで関連するモデルのREADとCREATE

By: woodleywonderworks – CC BY 2.0   ThoughtBotの本を読み進めてるけど私には買ってよかったと感じている ゾンビviewのワナを回避す …

Rails3.2でフォームの順番をjQuery UI sortableで並べ替えてSubmit~acts_as_list

Rails3でajaxでD&Dでまとめてファイルアップロード2~jQueryFileUpload for Rails

  前提 Rails3でajaxでD&Dでまとめてファイルアップロード~jQueryFileUpload for Rails Ruby on Rails 3.2でファイルアップロード …

backbone-relationalで関連するコレクションをRails3.2のAPIに投稿〜accepts_nested_attributes_for

By: Mike Baird – CC BY 2.0   backbonerelational.org/ Backbone-relationalを使って関連するコレクションをまと …