Я использовал гем таблицы .Вот код, который я использовал, чтобы записать его в файл и отправить.
spreadsheet_name = @role.title
book = Spreadsheet::Workbook.new
sheet1 = book.create_worksheet :name => spreadsheet_name
@people.each_with_index { |person, i|
sheet1.row(i).replace [person.first_name, person.last_name, person.email, person.title, person.organization, person.phone, person.street, person.street2, person.city, person.state, person.zip, person.country]
}
export_file_path = [Rails.root, "public", "uploads", "exports", "#{ @team.sort_name }_#{ DateTime.now.to_s }.xls"].join("/")
book.write export_file_path
send_file export_file_path, :content_type => "application/vnd.ms-excel", :disposition => 'inline'
Возможно, есть способ сделать это в памяти, а не записать файл ... но я не взялвремя, чтобы разобраться в этом.
Я не вижу необходимости в встроенных изображениях, но я оставлю это, потому что это может помочь кому-то еще.