Rails创建定时任务
Task & Rexcel
最终生成的报表需要excel格式,我用了Rexcel这个插件,先写下一个task(/lib/task/task.rake)
<div style="color: #333333; font-family: Arvo, helvetica, arial; font-size: 13px; line-height: 18px;" class="highlight">namespace :reports dodesc "my report"task :my_report => :environment do arr = ActiveRecord::Base.connection.execute("#{your sql}").to_a workbook = Rexcel::Workbook.new worksheet = workbook.add_worksheet("reports") worksheet.add_line(["col1", "col2", "col3"]) worksheet.add_lines(arr) Rails.logger.info("===================begin to write excel") File.open("#{RAILS_ROOT}/public/uploads/reports/#{month}月报表.xls", "w") do |f| f.write(workbook.build) end endend
页:
[1]