在 Rails 4 中导入 xls 文件不起作用 Roo::Excel.new
Posted
技术标签:
【中文标题】在 Rails 4 中导入 xls 文件不起作用 Roo::Excel.new【英文标题】:Import xls file in Rails 4 not working Roo::Excel.new 【发布时间】:2015-02-10 17:34:34 【问题描述】:我正在使用rails 4下面的代码来导入.xls:
def self.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, nil, :ignore)
when ".xlsx" then Roo::Excelx.new(file.path, nil, :ignore)
else raise "Unknown file type: #file.original_filename"
end
end
得到以下错误
Supplying `packed` or `file_warning` as separate arguments to
`Roo::Excel.new` is deprecated. Use an options hash
instead.Started GET "/members"
谁能告诉我如何导入 .xls?
【问题讨论】:
【参考方案1】:试试这个
def self.get_file_type(file)
File.extname(file.original_filename).gsub('.','')
end
def self.open_spreadsheet(file)
extension = get_file_type(file)
if extension.in?(%w(csv xls xlsx))
Roo::Spreadsheet.open(file.path, extension: extension)
else
raise "Unknown file type: #file.original_filename"
end
end
【讨论】:
@pkrawat1 这是一篇较旧的帖子,但它对我有很大帮助,非常感谢。我在其中看到的一个错误可能是让 OP 出错的原因是file_path
应该是 file.path
。一旦我改变了它,它就像一个魅力。
@nicholas79171 感谢您指出这一点。很高兴它对您有所帮助。以上是关于在 Rails 4 中导入 xls 文件不起作用 Roo::Excel.new的主要内容,如果未能解决你的问题,请参考以下文章