【发布时间】:2012-03-24 15:58:32
【问题描述】:
我正在尝试使用 roo gem 解析 XLS 文件,而不使用文件上传插件。不幸的是,我无法访问该文件的数据。
我得到错误:
#<File:0x007ffac2282250> is not an Excel file
所以 roo 没有将该文件识别为 Excel 文件。我需要在本地保存文件以使用 roo 还是有办法解决这个问题。我想将excel文件的数据直接解析到数据库中。
传入的参数:
Parameters: {"utf8"=>"✓", "authenticity_token"=>"yLqOpSK981tDNYjKSoWBh0VnFEKSk0XA/wOt3r+yWJc=", "uploadform"=>{"name"=>"xls", "file"=>#<ActionDispatch::Http::UploadedFile:0x007ffac22b6550 @original_filename="cities2.xls", @content_type="application/octet-stream", @headers="Content-Disposition: form-data; name=\"uploadform[file]\"; filename=\"cities2.xls\"\r\nContent-Type: application/octet-stream\r\n", @tempfile=#<File:/var/folders/qn/70msrkt90pd390sdr14_0g2m0000gn/T/RackMultipart20120306-3729-1m2xcsp>>}, "commit"=>"Save Uploadform"}
我正在尝试访问该文件
if params[:uploadform][:file].original_filename =~ /.*\.xls$/i
oo = Excel.new(params[:uploadform][:file].open)
rooparse(oo)
end
我也尝试过 params[:uploadform][:file].read 和 params[:uploadform][:file] 但我认为 .open 在这里是正确的方法!?
你会推荐在这里使用回形针或载波吗?
感谢您的帮助!
【问题讨论】:
标签: ruby-on-rails ruby ruby-on-rails-3 gem