Rails 导出 CSV

来源:互联网 发布:金融超市源码 编辑:程序博客网 时间:2024/06/04 20:01
  require 'csv'  require 'nkf'  def self.to_csv    Rails.logger.info '「我要开始导出数据了」'    field_name = ['id','订单号','创建时间','款式','品类','渠道','价格','数目','状态']      orders = Order.where(channel: xxx, state: "xxx").where("created_at>= ? and created_at <= ?", "xxx" ,"xxx")    csv_string = CSV.generate(:col_sep => "\t", :row_sep => "\r\n") do |csv|      csv << field_name        orders.each do |order|        csv << [order.id, order.number, order.created_at.strftime('%Y-%m-%d %H:%M:%S'), order.line_items.first.style_color.style.name, order.line_items.first.style_color.crowd.name, order.channel, order.item_total, order.item_count, order.state] #数据内容      end    end    fh = File.new("/test.csv", "wb")  #创建一个可写文件流    fh.puts NKF.nkf("-wL",csv_string) #写入数据    fh.close  end
原创粉丝点击