导入用户

dev_local_2
cxt 5 years ago
parent 32ae85355f
commit 41b96cfdb5

@ -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

Loading…
Cancel
Save