2011-04-05

rubyで装飾されたExcelファイルを作成する

このエントリーをブックマークに追加 このエントリーを含むはてなブックマーク
というよりもテンプレート的に事前に装飾したExcelファイルを用意しておいて、それを元にファイルを作る感じです。

まず、装飾したテンプレートとして利用するExcelファイルを用意します。

これをaaa.xlsとして保存します。

Excelをいじるために
spreadsheet
を利用します。
なので
gem install spreadsheet
しておきます。

以下のような感じのことを書きます。
require 'spreadsheet'

#とりあえずテンプレートとしたExcelを開きます
book = Spreadsheet.open('aaa.xls')

#値を埋めていきます
sheet = book.worksheet(0)
sheet[0,0] = 'aaa'
sheet[1,0] = 'aaa'
sheet[2,0] = 'aaa'
sheet[3,0] = 'aaa'
sheet[6,0] = 'aaa'
sheet[6,1] = 'aaa'
sheet[6,2] = 'aaa'
sheet[6,3] = 'aaa'

#特定行のフォーマットをコピーしていくには以下のような感じです
#とりあえずデータをセットします。
sheet[7,0] = 'bbb'
sheet[7,1] = 'bbb'
sheet[7,2] = 'bbb'
sheet[7,3] = 'bbb'
#適用した装飾がされている行のフォーマットをコピーします。
sheet.row(7).set_format(0,sheet.row(6).format(0))
sheet.row(7).set_format(1,sheet.row(6).format(1))
sheet.row(7).set_format(2,sheet.row(6).format(2))
sheet.row(7).set_format(3,sheet.row(6).format(3))

#最後に別名で保存します。
book.write('bbb.xls')

これで以下のような感じのファイルが作成できます。


コメントを投稿