class CmAdmin::Models::Export

def create_workbook(records, class_name, file_path)

def create_workbook(records, class_name, file_path)
  flattened_records = records.map { |record| CmAdmin::Utils.flatten_hash(record) }
  columns = flattened_records.map{|x| x.keys}.flatten.uniq.sort
  size_arr = []
  columns.size.times { size_arr << 22 }
  xl = Axlsx::Package.new
  xl.workbook.add_worksheet do |sheet|
    sheet.add_row columns&.map(&:titleize), b: true
    flattened_records.each do |record|
      sheet.add_row(columns.map { |column| record[column] })
    end
  sheet.column_widths(*size_arr)
  end
  xl.serialize(file_path)
end