2013-09-21 13 views
0

如何阅读附加Excel文件roo gem如何阅读与袋鼠宝石附加文件

我的看法是

<%= form_for @hotel, :url => { :action => "create_by_excel_sheet" } do |f| %> 
    <%= f.file_field :excel_sheet %> 
    <%= f.submit %> 
<%end%> 

我试图

def create_by_excel_sheet 
    xlsxFile = params[:hotel][:excel_sheet] 
    prefix_tmp_path = xlsxFile.path 
    filename = xlsxFile.original_filename 
    fullname = File.join(prefix_tmp_path,filename) 

    s = Roo::Excelx.new(fullname) 

    for i in 1..14 
     puts s.cell(i,3) 
    end 
end 

但是我收到一个错误*** IOError Exception: file /tmp/RackMultipart20130921-4175-165dgyw/hotel_information.xlsx does not exist和编辑代码并试用

Roo::Excelx.new(xlsxFile.path) 

得到错误

TypeError Exception: /tmp/RackMultipart20130921-4175-165dgyw is not an Excel-xlsx file 

回答

3

的解决方案,因为你知道这是一个XSLX文件,你可以将此选项添加到忽略文件警告和异常:

Roo::Excelx.new(xlsxFile.path, file_warning: :ignore))