3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
# File 'lib/export_active_record.rb', line 3
def self.generate_excel(class_name)
@class = class_name.to_s.constantize
file_name = "Export_#{class_name}.xlsx"
filepath = Rails.root.join('tmp', file_name)
package = Axlsx::Package.new
workbook = package.workbook
sheet_name = class_name.to_s
sheet = workbook.add_worksheet(name: sheet_name)
sheet.add_row @class.attribute_names
items = @class.all
if items.present?
items.find_each do |item|
sheet.add_row item.attributes.values
end
end
package.serialize(filepath)
return filepath
end
|