rubyでExcel操作
既存のExcelデータを読み込んで色々やるってのは結構情報があった。特に以下のものが分かりやすかった。
Rubyist Magazine Win32OLE 活用法 【第 2 回】 Excel
しかし、新規にExcelファイルを作って保存するというのがなかなか見つからなかったのでちょっと苦労した。方法が分かったのでメモっておく。
require 'win32ole' excel = WIN32OLE.new('Excel.Application') begin book = excel.Workbooks.add book.Worksheets.each do |sheet| sheet.Cells.Item(1,1).Value = "hello, excel" end book.saveAs "E:/sample.xls" ensure excel.Workbooks.Close excel.Quit end
これでSheet1、Sheet2、Sheet3の左上のセルに「hello, excel」と記入されたExcelファイルが、Eドライブ直下にsample.xlsという名前でできる。
単に
book.save
としても保存できるが、これだとBook1.xlsという名前でマイドキュメントに出来てしまう。Excelを新規で開いて保存するのと同じ。saveAsメソッドは「名前をつけて保存」と同じなのだ。