2008年1月16日水曜日

rubyでexcelのデータをブロックでもらう

windowsで結構使えます。
rubyの配列感覚でexcelのデータが扱える。

早速google-code-prettifyでソースコードを表示します。
require 'win32ole'

module Excel
def Excel.each(file)
excel = WIN32OLE.new('Excel.Application')
excel.displayAlerts = false
book = excel.Workbooks.Open(File.expand_path(file))
begin
book.Worksheets.each do |sheet|
sheet.UsedRange.Rows.each do |row|
record = []
row.Columns.each do |cell|
record << cell.Value
rescue e
p e.backtrace
STDERR.puts e.message
ensure
book.Close
excel.Quit
end
end
end

if $0 == __File__
Excel.each(ARGV[0]){ |row|
p row
}
end

0 件のコメント:

干し芋のリスト