本文介绍了如何在Ruby on Rails应用中使用spreadsheet gem进行Excel文件的导入和导出。首先,在配置文件中添加mime类型支持,然后分别在控制器和模型中实现导出和导入功能。导出部分涉及在控制器和模型中的操作,以及在视图中的调用。导入部分讲解了在视图中创建导入表单,并在控制器中处理上传。
def import
systems_sheet = Spreadsheet.open(params[:file].path).worksheet(0)
systems_sheet.each_with_index do |row, index|
if index > 1
value_hash = {}
value_hash[:name] = row[2]&.strip
value_hash[:data_type] = row[3]&.strip
value_hash[:data_size] = row[4]&.strip
existed_system = System.find_by(name: row[2])&.strip
if existed_system.present?
existed_system.update(value_hash)
else
System.create(value_hash)
end
end
end
redirect_to systems_path
end