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

執筆者:

関連記事

Mac OSXにHyper EstraierのRuby Bindingをインストールする

By: Kanko* – CC BY 2.0 目次1 環境2 Hyper Estraierのインストール3 ソースのダウンロード4 パッチを適用する5 rvmのためにconfigureファ …

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

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

Bash on WindowsでDocumentsのpdfを全文検索〜hyperestraier

By: Samm – CC BY 2.0 目次1 Bash on Windows2 HyperEstraierのインストール3 ドキュメントのインデックス登録4 apache2のインストー …

no image

RailsでRedisを使う例のメモ

最近よく見かけるようなのでメモ Redisって大量にメモリを積んでないとダメかと思ってたけど、思ったよりいろんな方面に用途がありそう(リンク先の情報はわたしは未検証です) Redisの基礎 (全14回 …

Rails3.2で位置情報を日本語表示の住所に変換する~geocoder

ついにブログ記事が100件突破した! そのうちメニュー項目などをわかりやすく構成し直したいと思う いまはRailsのプログラムが楽しくて仕方ない時期なので色々と試して書き溜めたいと思う EverNot …