Exportando informações para o Excel com Ruby
03/05/07
Fazendo alguns testes no Spesa, cheguei a uma função que está me servindo muito bem. Através de um array, eu gero um arquivo que o Microsoft Excel, OpenOffice e Gnumeric é capaz de ler sem muito esforço. Estendi a classe Array do Ruby, para ficar ainda mais fácil!
#Author: Nando Vieira <fnando dot vieira at gmail dot com>
class Array
def to_xls
content = "
self.each do |row|
row.map! {|col| col = col.to_s.gsub(/(\t|\r\n|\r|\n)/sim, " ").gsub(/ +/, " ") }
content << row.join("\t")
content << "\n"
end
content
end
end
Para usar é muito simples! Basta você algo como o código abaixo.
xls = [
['name', 'email', 'age', 'salary'],
['john', 'john@example.com', 27, 4212.50],
["michael", "mike@example.com", 22, 6150],
["", "", "", "=SUM(D2:D3)"]
].to_xls
f = File.new("test.xls", "w+")
f << xls
f.close
Percebeu que eu posso até usar fórmulas nas colunas? Neste exemplo, eu faço uma soma da coluna "Salary". Mais fácil que isso, impossível!
- Permalink
- Trackback
- Feed dos comentários
- Ao som de: Something Corporate – The Runaway

Comentários #
Puts que trabalho heim Nando =D Muito legal!
E tem gente que fala que não gosta de Ruby porque é *muito* flexível! :P
simplesmente genial! Pretendo usar seu codigo assim que possivel… :):)
olha só…
fui abrir o arquivo no excel e deu erro:: arquivo corrompido :(
Nando, você ainda utiliza esse meio para gerar o arquivos no formato excel ou utiliza algum outro gem ou plugin?
Abraço,
Deixe um comentário