在rails应用程序中将Excel导入sqlite

问题描述

| 我正在Ruby on Rails中制作一个应用程序,它将询问用户多项选择问题。我想将问题从Excel文件上传数据库。我该怎么做?     

解决方法

将Excel电子表格另存为CSV文件,然后使用CSV分析器(可能在rake文件中): 在lib / taks / import.rake中:
require \'fastercsv\'
namespace :import => :environment do
   task :questions do
     FasterCSV.foreach(\"path/to/file.csv\") do |row|
           q = Question.create(:question=>row[0],etc...)
           PossibleAnswer.create(:question=>q,:answer=>row[1],etc....) #providing PossibleAnswer belongs_to Question
      end
   end 
end
然后运行“ rake import:questions”     ,您可以使用电子表格gem从excel文件中读取数据: http://rubygems.org/gems/spreadsheet 如果要允许用户上载自己的excel文档,导入一些问题,或者希望用户能够以excel文件格式下载问题,这将非常有用。 如果您只想一次性导入一些数据,那么我将接受Yule的想法,并通过CSV进行处理,这很容易掌握。