导入excel文件时出现问题,当扩展名为.xls时,它正常工作但扩展名为.xlsx时会出现参数错误。
def open_spreadsheet(file)
case File.extname(file.original_filename)
when ".csv" then Roo::Csv.new(file.path, nil, :ignore)
when ".xls" then Roo::Excel.new(file.path, packed: nil, file_warning: :ignore)
when ".xlsx" then Roo::Excelx.new(file.path, nil, :ignore)
else raise "Unknown file type: #{file.original_filename}"
end
end
答案 0 :(得分:3)
尝试
Roo::Excel.new(file.path, packed: false, file_warning: :ignore)
答案 1 :(得分:1)
如果查看文档,Roo :: Excelx.new(initialize方法)只接受两个参数。
http://www.rubydoc.info/gems/roo/Roo/Excelx
将第6行更改为:
when ".xlsx" then Roo::Excelx.new(file.path, :ignore)
答案 2 :(得分:0)
我已经解决了我的问题,在那种情况下做了一些改变
when ".xlsx" then Roo::Excelx.new(file.path, packed: nil, file_warning: :ignore)