Ruby snippets: Guardar en planilla Excel una consulta SQL

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'

GitHub Gist