Versión elemental para crear planillas excel a partir de una consulta SQL cualquiera.
require "rubygems" require "mysql2" require 'spreadsheet' #connect to example MySQL sakila database client = Mysql2::Client.new(:host => "localhost", :username => "root", :database=>"sakila") qry_str = "SELECT * FROM `sakila`.`payment` limit 200;" results = client.query(qry_str) #prepare excel book: book = Spreadsheet::Workbook.new sheet1 = book.create_worksheet #set headers from results: xls_row = sheet1.row(0) results.fields.each{|v| xls_row.push v } #write the rows results.each_with_index do |result,i| xls_row = sheet1.row(i+1) result.values.each{|v| xls_row.push v} end book.write 'file.xls'