|
|
|
@ -8,7 +8,10 @@ wb.styles do |s|
|
|
|
|
|
wb.add_worksheet(:name => "统计结果") do |sheet|
|
|
|
|
|
sheet.sheet_view.show_grid_lines = false
|
|
|
|
|
poll_users_info = %w(序号)
|
|
|
|
|
Rails.logger.info("#############_______________poll_questions.pluck(:question_title)_______####################{poll_questions.pluck(:question_title)}")
|
|
|
|
|
|
|
|
|
|
poll_ques_titles = poll_questions.pluck(:question_title).map {|k| strip_export_title(k) if k.present?}
|
|
|
|
|
Rails.logger.info("#############_______________poll_ques_titles_______####################{poll_ques_titles}")
|
|
|
|
|
poll_un_anony = poll.un_anonymous
|
|
|
|
|
if poll_un_anony #是否匿名,默认为false
|
|
|
|
|
user_info = %w(登陆名 真实姓名 邮箱 学号)
|
|
|
|
@ -18,13 +21,13 @@ wb.styles do |s|
|
|
|
|
|
poll_users_info = poll_users_info + user_info + poll_ques_titles
|
|
|
|
|
poll_questions.each do |q|
|
|
|
|
|
if q.question_type != 3 #问题不为主观题
|
|
|
|
|
question_vote_user = q.poll_votes.find_current_vote("user_id",poll_commit_ids).count #该问题的有效填写量
|
|
|
|
|
question_vote_user = q.poll_votes.find_current_vote("user_id",poll_commit_ids).size #该问题的有效填写量
|
|
|
|
|
sheet_row = ["第#{q.question_number}题"] #选择题答案选项的数组
|
|
|
|
|
sheet_answer_row = ["小计"] #选择题回答的答案人数,数组
|
|
|
|
|
sheet_answer_percent = ["比例"]
|
|
|
|
|
sheet_answer_useful = ["有效填写人次",question_vote_user]
|
|
|
|
|
q.poll_answers.each do |a| #问卷的答案选项
|
|
|
|
|
answer_users_count = a.poll_votes.find_current_vote("user_id",poll_commit_ids).count
|
|
|
|
|
answer_users_count = a.poll_votes.find_current_vote("user_id",poll_commit_ids).size
|
|
|
|
|
answer_percent = number_to_percentage((answer_users_count.to_f / question_vote_user.to_f)*100,precision:1)
|
|
|
|
|
sheet_row.push(a.answer_text)
|
|
|
|
|
sheet_answer_row.push(answer_users_count)
|
|
|
|
@ -41,8 +44,8 @@ wb.styles do |s|
|
|
|
|
|
else #主观题答案
|
|
|
|
|
main_show_row = ["第#{q.question_number}题",q.question_title]
|
|
|
|
|
sheet.add_row main_show_row,:height =>15, :style => blue_cell
|
|
|
|
|
q.poll_votes.each do |v| #主观题的答案
|
|
|
|
|
sheet.add_row ["",v.vote_text.present? ? v.vote_text : "--"],:height =>15, :style => sz_all
|
|
|
|
|
q.poll_votes.each_with_index do |v,index| #主观题的答案
|
|
|
|
|
sheet.add_row [(index+1),v.vote_text.present? ? v.vote_text : "--"],:height =>15, :style => sz_all
|
|
|
|
|
end
|
|
|
|
|
sheet.add_row [], :style => sz_all
|
|
|
|
|
end
|
|
|
|
|