Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/62.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 将Excel导入Rails应用程序_Ruby On Rails_Spreadsheet_Gem - Fatal编程技术网

Ruby on rails 将Excel导入Rails应用程序

Ruby on rails 将Excel导入Rails应用程序,ruby-on-rails,spreadsheet,gem,Ruby On Rails,Spreadsheet,Gem,我正在创建一个供个人使用的小型rails应用程序,希望能够上载excel文件,以便稍后进行验证并添加到数据库中。我以前在处理csv文件时使用过这种方法,但后来变得不切实际了 有人知道使用roo或电子表格gem上传文件、向用户显示内容然后添加到数据库(验证后)的教程吗?我知道这很具体,但我想一步一步地完成 到目前为止,我只有一个“导入”视图: <% form_for :dump, :url=>{:controller=>"students", :action=>"stude

我正在创建一个供个人使用的小型rails应用程序,希望能够上载excel文件,以便稍后进行验证并添加到数据库中。我以前在处理csv文件时使用过这种方法,但后来变得不切实际了

有人知道使用roo或电子表格gem上传文件、向用户显示内容然后添加到数据库(验证后)的教程吗?我知道这很具体,但我想一步一步地完成

到目前为止,我只有一个“导入”视图:

<% form_for :dump, :url=>{:controller=>"students", :action=>"student_import"}, :html => { :multipart => true } do |f| -%>
    Select an Excel File :
    <%= f.file_field :excel_file -%>
    <%= submit_tag 'Submit' -%>
<% end -%>
{:controller=>“student”,:action=>“student_import”},:html=>{:multipart=>true}do | f |-%%>
选择一个Excel文件:
但不知道如何在控制器中访问此上载文件

欢迎提出任何建议/帮助。 谢谢

“电子表格库旨在读取和写入电子表格文档。从0.6.0版开始,仅支持与Microsoft Excel兼容的电子表格。电子表格是Daniel J.Berger的电子表格::Excel库和Hannes Wyss的ParseExcel库的组合/完全重写。电子表格可以读取、写入和修改电子表格文档。”

编辑
要获取上传的文件,您有两个选项:
1.(推荐)使用类似文件上传插件的东西,它将处理细节。

2.使用IO对象
参数[:dump][:excel_file]
,如下所示:

我们使用支持Open Office、excel、Google、excel.xlsx的IO对象。嘿,我使用了电子表格gem,并编写了一个简单的应用程序,以了解它是如何组合在一起的。它目前运行在Rails 3.1和Carrierwave上,希望这对您有所帮助:


关于如何使用
roo
gem做到这一点,有一个很好的RailsCast:

出于好奇,为什么csv文件版本不切实际?是否需要最终用户做很多事情才能上传学生?我担心我的用户可能会因为不得不转换成csv而受到威胁。该应用程序没有在本地运行。你知道为什么吗?但是
 roo
没有保存.xlsx文件的功能,只能读取和解析。或者我不对?