阅读xlsx / xls文件 - Rails 4

时间:2014-02-19 20:03:41

标签: ruby-on-rails ruby ruby-on-rails-4 rubygems xlsx

美好的一天stackoverflow

我在控制器中有这个

def upload
 file_data = params[:data]

 #s = Roo::Excel.new(file_data.path)
 book = Spreadsheet.open file_data.path

 #--- continuous to read the file ---#
end

问题是它可以读取Spreadsheet gem上的.xls文件,但无法读取.xlsx文件

相比之下,Roo gem可以读取.xls / .xlsx文件,但参数file_data.path不适用于Excel.new函数,显示"is not an Excel file"错误

我将excel文件发送到视图中的表单中的file_field_tag中,当然

param file_data.path stackoverflow的任何想法?

1 个答案:

答案 0 :(得分:1)

当您使用roo gem阅读xlsx文件时,请使用Excelx class

   if File.extname(file_data.path) == ".xlsx"
    s = Roo::Excelx.new(file_data.path)
   else
    s = Roo::Excel.new(file_data.path)
   end