Excelを使い倒す。
前に戻る
昨今の企業では、データ管理としては、Excelを使うのがディファクトスタンダードとなっている。
しかしながら、冒頭で書いたような複雑怪奇なシステムをExcelのみで行うのは不可能に近い。
そこで、Excelを、データベースへの登録を行うための、一つのユーザインターフェースとして利用するととっても便利である。
例えば、Excelで商品一覧シートを作った後、以下のモジュールを使って、データベースエンジンへの登録を行う。
以下は、ruby でも jruby でも動作するが、今後、オープンソースのオブジェクト指向データベースを利用予定なので、
jrubyの方が良いかもしれません。つまりデータベース部分へのアクセスはjavaで記述します。
require 'rubygems'
require 'parseexcel'
require 'kconv'
require 'java'
class Kexcel
@@encode_excel="Shift_JIS"
@@encode_ruby="UTF-8"
def Kexcel.read(aFilePath, aSheetName)
wWorkbook=Spreadsheet::ParseExcel.parse(aFilePath)
wWorksheet=wWorkbook.worksheet(aSheetName, @@encode_excel)
wRowIndex=0
wTitleRow=nil
wMethodRow=nil
wWorksheet.each do |iRow|
wRecordRow=[] unless wRecordRow
iRow.each do |iCell|
if iCell
wRecordRow.push iCell.to_s(@@encode_ruby)
end
end
if wRowIndex == 0
wTitleRow=wRecordRow
wRowIndex+=1
next
elsif wRowIndex==1
wMethodRow=wRecordRow
wRowIndex+=1
next
else
wRowIndex+=1
end
yield wRecordRow, wTitleRow, wMethodRow, wRowIndex
end
end
end
前に戻る