从tempfile .xlsx读取并获取内容

时间:2019-07-31 19:36:44

标签: ruby-on-rails xlsx axlsx

我正在使用dropzone.xlsx文件发送到控制器,该控制器通过参数将文件发送给我,并且我得到了<ActionDispatch::Http::UploadedFile:0x007fe9f87bb030

在我的控制器中,我试图接收和读取它,但是它不起作用

def update_activities_with_excel
    file = params[:file].tempfile
    File.open(file, 'r') do |file|

    end
end

file打印:

#<File:/tmp/RackMultipart20190731-16696-1khug2d.xlsx>

我的参数:

Parameters: {
"file"=>#<ActionDispatch::Http::UploadedFile:0x007fe9f87bb030 
@tempfile=#<Tempfile:/tmp/RackMultipart20190731-16696-1khug2d.xlsx>, 
@original_filename="Actividades.xlsx", 
@content_type="application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", 
@headers="Content-Disposition: form-data; name=\"file\"; 
filename=\"Actividades.xlsx\"\r\n
Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet\r\n">}

我需要获取其内容来进行处理,我正在使用axlsx gem

1 个答案:

答案 0 :(得分:0)

我使用creek gem

找到了解决方案
file = params[:file]
creek = Creek::Book.new file.tempfile
相关问题