greeting_card/app/views/admin/greeting_cards/do_export.xlsx.axlsx

51 lines
1.7 KiB
Plaintext

# encoding: utf-8
wb = xlsx_package.workbook
wb.add_worksheet(name: "GreetingCard Question") do |sheet|
heading = sheet.styles.add_style(:b => true, :locked => true)
heads = []
fields_with_key_group.each do |cat_id, fields_with_key|
fields_with_key.each do |type, fs|
fs.each do |key, field|
heads << field if !heads.include?(field)
end
end
end
sheet.add_row heads, :style => heading
greeting_card_records.each do |greeting_card_record|
row = []
row_group = {}
s = greeting_card_category_settings[greeting_card_record.category_id]
fields_with_key_group[greeting_card_record.category_id]['default_values'].each do |key, field|
text = ''
case key
when 'created_at', 'sending_time'
text = greeting_card_record.send(key).strftime('%Y/%m/%d %H:%M')
when 'title','name','sender_mail',recipients','greetings'
text = greeting_card_record.send(key).to_s
when 'greeting_card_category_id'
text = categories[greeting_card_record.category_id].title rescue ''
when 'agree_show'
if greeting_card_record.agree_show
text = I18n.t('greeting_card.yes')
else
text = I18n.t('greeting_card.no')
end
when 'situation'
text = situations[greeting_card_record.situation].collect{|k,v| v}.join('/') rescue ''
end
row_group[field] = text
end
fields_with_key_group[greeting_card_record.category_id]['custom_values'].each do |key, field|
row_group[field] = Admin::GreetingCardsHelper.show_on_front(key, s.custom_fields[key], greeting_card_record, true)
end
row = heads.collect do |head|
row_group[head]
end
sheet.add_row row
end
end