class CmAdmin::Models::Export

def create_workbook(cm_model, records, _class_name, file_path)

def create_workbook(cm_model, 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
  columns = exportable_columns(cm_model).select { |column| flattened_records.first.keys.include?(column.field_name.to_s) }
  size_arr = []
  columns.size.times { size_arr << 22 }
  xl = Axlsx::Package.new
  xl.workbook.add_worksheet do |sheet|
    sheet.add_row columns&.map(&:header), b: true
    flattened_records.each do |record|
      sheet.add_row(columns.map { |column| record[column.field_name.to_s] })
    end
    sheet.column_widths(*size_arr)
  end
  xl.serialize(file_path)
end