forked from spen/seminar
79 lines
2.3 KiB
Plaintext
79 lines
2.3 KiB
Plaintext
# encoding: utf-8
|
|
|
|
wb = xlsx_package.workbook
|
|
|
|
wb.add_worksheet(name: (@seminar.title.to_s[0..27]+'...')) do |sheet|
|
|
|
|
row = [t('seminar_signup.signup_time')]
|
|
|
|
row << t('seminar_signup.serial_number')
|
|
|
|
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
|
|
end
|
|
highlight_style = wb.styles.add_style(
|
|
:bg_color => 'ffeb3b',
|
|
:b => true,
|
|
:border => { :style => :thick, :color => "000000", :edges => [:top, :left, :bottom, :right] },
|
|
:alignment => {:horizontal => :center, :vertical => :center, :wrap_text => true}
|
|
)
|
|
sheet.add_row row, :style => (0...row.count).collect{ highlight_style }
|
|
date_time_style = wb.styles.add_style({:format_code => 'yyyy/mm/dd hh:mm', :alignment => {:horizontal => :center, :vertical => :center, :wrap_text => true}})
|
|
wrap_text_style = wb.styles.add_style({:alignment => {:horizontal => :center, :vertical => :center, :wrap_text => true}})
|
|
types = [:time]
|
|
styles = [date_time_style]
|
|
@seminar_signups.each_with_index do |signup, i|
|
|
row2 = []
|
|
row2 << signup.created_at
|
|
row2 << "#{signup.display_serial_number}"
|
|
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|
|
|
row2 << (@seminar.get_attribute_value(rf,signup.id).get_value_by_locale(l) rescue '')
|
|
end
|
|
else
|
|
row2 << (@seminar.get_attribute_value(rf,signup.id).get_value_by_locale(I18n.locale) rescue '')
|
|
end
|
|
end
|
|
if i == 0
|
|
(0...(row2.count - 1)).each do |i|
|
|
types << :string
|
|
styles << wrap_text_style
|
|
end
|
|
end
|
|
sheet.add_row row2 , :types => types, :style => styles
|
|
end
|
|
|
|
end
|
|
|