# 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