Verfasst von: fedoraswiss in: August 28, 2008
Folgendes Plugin ‘fastercsv’ muss über GEM installiert werden:
gem install fastercsv
Example Code from rubyonrails.org
require 'fastercsv'
class ReportController
# example action to return the contents
# of a table in CSV format
def export_users
users = User.find(:all)
stream_csv do |csv|
csv << ["first","last","id","email"]
users.each do |u|
csv << [u.first,u.last,u.id,u.email]
end
end
end
private
def stream_csv
filename = params[:action] + ".csv"
#this is required if you want this to work with IE
if request.env['HTTP_USER_AGENT'] =~ /msie/i
headers['Pragma'] = 'public'
headers["Content-type"] = "text/plain"
headers['Cache-Control'] = 'no-cache, must-revalidate, post-check=0, pre-check=0'
headers['Content-Disposition'] = "attachment; filename=\"#{filename}\""
headers['Expires'] = "0"
else
headers["Content-Type"] ||= 'text/csv'
headers["Content-Disposition"] = "attachment; filename=\"#{filename}\""
end
render :text => Proc.new { |response, output|
csv = FasterCSV.new(output, :row_sep => "\r\n")
yield csv
}
end
end
Letzte Kommentare