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