美好的一天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的任何想法?
答案 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