From 40fb5ed276532a9a1fe86d6ec11a8c208681a2ae Mon Sep 17 00:00:00 2001 From: daiao <358551898@qq.com> Date: Wed, 4 Mar 2020 22:52:19 +0800 Subject: [PATCH] =?UTF-8?q?excel=E5=AF=BC=E5=87=BA=E7=94=A8=E6=88=B7?= =?UTF-8?q?=E6=95=B0=E6=8D=AE=E7=BB=9F=E8=AE=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../user_schools_statistics_controller.rb | 4 ++-- .../user_schools_statistics/export.xlsx.axlsx | 18 ++++++++++++++++++ 2 files changed, 20 insertions(+), 2 deletions(-) create mode 100644 app/views/admins/user_schools_statistics/export.xlsx.axlsx diff --git a/app/controllers/admins/user_schools_statistics_controller.rb b/app/controllers/admins/user_schools_statistics_controller.rb index 6f1e85093..2290761da 100644 --- a/app/controllers/admins/user_schools_statistics_controller.rb +++ b/app/controllers/admins/user_schools_statistics_controller.rb @@ -2,9 +2,9 @@ class Admins::UserSchoolsStatisticsController < Admins::BaseController def export params[:per_page] = 10000 - _count, @users = Admins::UserSchoolsStatisticQuery.call(params) + _count, @schools = Admins::UserSchoolsStatisticQuery.call(params) - filename = ['用户运营情况', Time.zone.now.strftime('%Y%m%d%H%M%S')].join('-') << '.xlsx' + filename = ['用户运营统计', Time.zone.now.strftime('%Y%m%d%H%M%S')].join('-') << '.xlsx' render xlsx: 'export', filename: filename end diff --git a/app/views/admins/user_schools_statistics/export.xlsx.axlsx b/app/views/admins/user_schools_statistics/export.xlsx.axlsx new file mode 100644 index 000000000..c37c7b5ef --- /dev/null +++ b/app/views/admins/user_schools_statistics/export.xlsx.axlsx @@ -0,0 +1,18 @@ +wb = xlsx_package.workbook +wb.add_worksheet(name: '用户运营统计') do |sheet| + sheet.add_row %w(单位名称 省份 注册老师数量 注册学生数量 活跃用户 学习关卡数 完成关卡数 评测次数) + + @schools.each do |school| + data = [ + school.name, + school.province, + school.display_extra_data(:reg_teacher_count), + school.display_extra_data(:reg_student_count), + school.display_extra_data(:user_active_count), + school.display_extra_data(:study_challenge_count), + school.display_extra_data(:finish_challenge_count), + school.display_extra_data(:evaluate_count), + ] + sheet.add_row(data) + end +end \ No newline at end of file