3

Ruby on Rails 3Ruby on Rails console export table to excel

У меня есть таблица, которая не показана в моем приложении. Я хочу экспортировать таблицу в excel с консоли.

Есть ли способ экспортировать таблицу базы данных в файл excel с консоли?

Спасибо

Вот то, что я до сих пор:

require 'csv' 

file = "#{Rails.root}/public/survey.csv" 

userrefs = Survey.all 

CSV.open(file, 'w') do |writer| 
userrefs.each do |ur| 
    writer << ur.attributes.values_at(*column_names) 
end 
end 

Когда я вхожу требуется 'CSV' он возвращает ложь. Как вы это делаете? Кроме того, * column_names не определено.

+0

это может помочь http://stackoverflow.com/questions/2461503/rails-redirecting-console-output-to-a-file –

+0

@SamD этот вопрос не помогает в формате файла. Я могу легко получить таблицу в формате txt. Я бы просто скопировать и вставить его, если что-нибудь. – DDDD

+1

вместо txt вы можете запустить format.xls на частичном только с таблицей. например, здесь http://railscasts.com/episodes/362-exporting-csv-and-excel –

ответ

2

Как уже упоминалось в комментариях простой подход использует функцию format.xls, чтобы сделать файл первенствовать из консоли. Райан Бейтс video широко охватывает выходы Excel.

1

Вы можете подключиться к таблице базы данных с помощью существующего драйвера или, если вы предпочитаете более высокий уровень API, вы можете создать модель ActiveRecord или использовать камень Sequel.

После подключения просто используйте Ruby CSV library (он находится в стандартной библиотеке, поэтому дополнительной библиотеки не требуется), чтобы выгрузить содержимое в файл CSV.

Файлы CSV можно легко прочитать из Excel.

PS. Просто использовать соответствующие слова, это не таблица Rails. Это таблица базы данных.

+0

Не уверен, что вы подразумеваете под подключением к базе данных. Кроме того, как вы используете библиотеку для выгрузки файла? Я вижу, что в ссылке есть цикл do. Это работает на консоли? – DDDD

+0

Да, вы можете выполнять все с консоли. –

+0

Сайт использует все те заголовки, которые очень запутывают. Что все сразу? Кроме того, где в cmd указанная таблица? Не могли бы вы привести пример? – DDDD

1

Другим интересным подходом может быть использование ярлыка activeadmin, его легко установить и вы можете экспортировать свои таблицы в csv.

http://www.activeadmin.info/