Ruby on Rails 导出 csv 文件

记录 Ruby on Rails 使用 rake 任务来导出数据库数据至 Csv 文件。
首先在项目 lib/tasks 文件夹下新建一个 **.rake 文件,然后输入:

# frozen_string_literal: true

require 'csv'

desc 'export users pad info'
task export_users_pad_info: :environment do
  file_name = '../users_info.csv'
  field_name = %w(id 用户名 邮箱)

  csv_string = CSV.generate(col_sep: "\t", row_sep: "\r\n") do |csv|
    csv << field_name
    User.find_each do |user|
      puts "write user id = #{user.id}"
      csv << [user.id, user.name, user.email]
    end
  end
  File.write(file_name, csv_string)
end

然后在命令行执行:

bundle exec rake export_users_pad_info

搜索‘users_info.csv’文件即可。

posted @ 2020-04-16 14:46  Mr-Ran  阅读(505)  评论(0编辑  收藏  举报