读取excel 用roo plugin

task :get_unit_data => :environment do
require 'roo'
s = Excel.new("unit.xls")
s.default_sheet = s.sheets.first
start_row = s.first_row
end_row = s.last_row
start_column = s.first_column
end_column = s.last_column
(start_row..end_row).each do |row|
unit_name = ""
unit_abbr = ""
is_defalut = false
is_conversion = false
is_equation = false
value = ""
(start_column..end_column).each do |col|

data = s.cell(row,col,s.sheets.first).to_s
next if data.blank?
next if (data=~/\d/)==1

name = data.split("(").first if col ==1
unit_name = data if col==2
unit_abbr = data if col==3
if col > 3
is_defalut = true if data=~/defa/
is_equation = true if data=~/equa/
is_conversion = true if data=~/conver/
value = data if data=~/\d/
end

puts name unless name.blank?
unit_group = UnitGroup.create({:name => name,:company_uid => SYS_UID}) unless name.blank?


end
if (!unit_name.blank?) || (!unit_abbr.blank?)
Unit.transaction do
unit = Unit.new
unit.name = unit_name
unit.abbreviation = unit_abbr
unit.is_default = is_defalut
unit.is_conversion = is_conversion
unit.is_equation = is_equation
unit.value = value
if unit.save
unit_group = UnitGroup.last
unit_group.units << unit
end
end
puts row
end

end
end
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值