Class: ExportActiveRecord

Inherits:
Object
  • Object
show all
Defined in:
lib/export_active_record.rb

Class Method Summary collapse

Class Method Details

.generate_excel(class_name) ⇒ Object



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