Различные методы создания файлов CSV в Ruby on Rails

Чтобы создать CSV-файл в Ruby on Rails, вы можете использовать различные методы и библиотеки. Вот несколько различных подходов с примерами кода:

Метод 1: использование библиотеки CSV Ruby

require 'csv'
def generate_csv
  data = [
    ['Name', 'Email'],
    ['John Doe', 'john@example.com'],
    ['Jane Smith', 'jane@example.com']
  ]
  csv_data = CSV.generate do |csv|
    data.each do |row|
      csv << row
    end
  end
  File.write('data.csv', csv_data)
end

Метод 2: использование FasterCSV Gem (Ruby 2.3 или старше)

require 'fastercsv'
def generate_csv
  data = [
    ['Name', 'Email'],
    ['John Doe', 'john@example.com'],
    ['Jane Smith', 'jane@example.com']
  ]
  csv_data = FasterCSV.generate do |csv|
    data.each do |row|
      csv << row
    end
  end
  File.write('data.csv', csv_data)
end

Метод 3. Использование CSV Builder Gem

require 'csv_builder'
def generate_csv
  data = [
    ['Name', 'Email'],
    ['John Doe', 'john@example.com'],
    ['Jane Smith', 'jane@example.com']
  ]
  csv_data = CSVBuilder.generate do |csv|
    data.each do |row|
      csv << row
    end
  end
  File.write('data.csv', csv_data)
end

Метод 4. Использование Axlsx Gem

require 'axlsx'
def generate_csv
  data = [
    ['Name', 'Email'],
    ['John Doe', 'john@example.com'],
    ['Jane Smith', 'jane@example.com']
  ]
  Axlsx::Package.new do |p|
    p.workbook.add_worksheet(name: 'Data') do |sheet|
      data.each do |row|
        sheet.add_row row
      end
    end
    p.serialize('data.xlsx')
  end
end

Это всего лишь несколько примеров различных методов, которые вы можете использовать для создания CSV-файла в Ruby on Rails. Вы можете выбрать тот, который лучше всего соответствует вашим требованиям и версии Ruby, которую вы используете.