From 41b96cfdb534592506383b12aad6101b916583a5 Mon Sep 17 00:00:00 2001 From: cxt <853663049@qq.com> Date: Fri, 20 Dec 2019 11:15:21 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AF=BC=E5=85=A5=E7=94=A8=E6=88=B7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/imports/admins/import_user_excel.rb | 22 ++++++++++++++++++---- 1 file changed, 18 insertions(+), 4 deletions(-) diff --git a/app/imports/admins/import_user_excel.rb b/app/imports/admins/import_user_excel.rb index f8a98c440..a1d13e356 100644 --- a/app/imports/admins/import_user_excel.rb +++ b/app/imports/admins/import_user_excel.rb @@ -1,19 +1,33 @@ class Admins::ImportUserExcel < BaseImportXlsx - UserData = Struct.new(:name, :phone, :mail, :school, :department, :identity, :student_id) + UserData = Struct.new(:student_id, :name, :department_name, :identity, :technical_title, :phone) def read_each(&block) - sheet.each_row_streaming(pad_cells: true, offset: 1) do |row| - data = row.map(&method(:cell_value))[0..7] + sheet.each_row_streaming(pad_cells: true, offset: 3) do |row| + data = row.map(&method(:cell_value))[0..5] block.call UserData.new(*data) end end + def school + @school ||= begin + school_id = sheet.cell(1, 1).to_s.strip + school_name = sheet.cell(1, 2).to_s.strip + + School.find_by(id: school_id, name: school_name) + end + end + + def identifier + @_identifier ||= sheet.cell(2, 1).to_s.strip + end + private def check_sheet_valid! + raise_import_error('请按照模板格式导入') if school.blank? end def cell_value(obj) - obj&.cell_value&.presence + obj&.cell_value end end