seminar/app/views/admin/seminars/export.xlsx.axlsx

71 lines
1.6 KiB
Plaintext
Raw Normal View History

2016-06-29 06:57:45 +00:00
# encoding: utf-8
wb = xlsx_package.workbook
2020-05-05 13:58:59 +00:00
wb.add_worksheet(name: (@seminar.title.to_s[0..27]+'...')) do |sheet|
2016-06-29 06:57:45 +00:00
row = [t('seminar_signup.signup_time')]
2021-03-29 14:27:08 +00:00
row << t('seminar_signup.serial_number')
2016-06-29 06:57:45 +00:00
row << t('seminar_signup.name')
row << t('seminar_signup.unit')
row << t('seminar_signup.tel')
row << t('seminar_signup.phone')
row << t('seminar_signup.fax')
row << t('seminar_signup.address')
row << t(:email)
row << t('seminar_signup.note')
@seminar.seminar_signup_fields.asc(:_id).each do |rf|
if rf.can_muti_lang_input?
@site_in_use_locales.each do |l|
row << rf.title + " (#{t(l.to_s)})"
end
else
row << rf.title
end
2016-06-29 06:57:45 +00:00
end
sheet.add_row row
@seminar_signups.each do |signup|
2021-03-29 14:27:08 +00:00
types = {}
2016-06-29 06:57:45 +00:00
row2 = []
row2 << "#{signup.created_at} "
2021-03-29 14:27:08 +00:00
types[1] = :string
row2 << "#{signup.display_serial_number}"
2016-06-29 06:57:45 +00:00
row2 << "#{signup[:name]} "
row2 << "#{signup.unit} "
row2 << "#{signup[:tel]} "
row2 << "#{signup[:phone]} "
row2 << "#{signup[:fax]} "
row2 << "#{signup.address} "
row2 << "#{signup[:email]} "
row2 << "#{signup.note} "
@seminar.seminar_signup_fields.asc(:_id).each do |rf|
if rf.can_muti_lang_input?
@site_in_use_locales.each do |l|
2022-11-04 04:38:27 +00:00
row2 << (@seminar.get_attribute_value(rf,signup.id).get_value_by_locale(l) rescue '')
end
else
2022-11-04 04:38:27 +00:00
row2 << (@seminar.get_attribute_value(rf,signup.id).get_value_by_locale(I18n.locale) rescue '')
end
2016-06-29 06:57:45 +00:00
end
2021-03-29 14:27:08 +00:00
types = (0...row2.count).map{|i| types[i]}
sheet.add_row row2 , :types => types
2016-06-29 06:57:45 +00:00
end
end