我正在创建一个供个人使用的小型rails应用程序,并希望能够上传excel文件以便以后进行验证并添加到数据库中。我之前使用过csv文件,但这已经变得不切实际了。
有没有人知道使用roo或spreadsheet 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 -%>
但不知道如何在控制器中访问此上传文件。
欢迎任何建议/帮助。 感谢
答案 0 :(得分:27)
“电子表格库旨在读取和写入电子表格文档。从版本0.6.0开始,仅支持Microsoft Excel兼容的电子表格。电子表格是由Daniel J. Berger组合/完全重写的电子表格:: Excel库和Hannes Wyss的ParseExcel库。电子表格可以读取,编写和修改电子表格文档。“
EDIT
要获取上传的文件,您有两种选择:
1.(推荐)使用像paperclip这样的文件上传插件,它将处理位和螺栓
2.按照http://guides.rails.info/form_helpers.html#what-gets-uploaded
params[:dump][:excel_file]
答案 1 :(得分:15)
我们使用支持Open Office,Excel,Google,Excel.xlsx
的roo答案 2 :(得分:3)
关于如何使用roo
gem执行此操作,有一个很棒的RailsCast:http://railscasts.com/episodes/396-importing-csv-and-excel
答案 3 :(得分:2)
嘿,我使用电子表格gem并编写了一个简单的应用程序,以了解它们如何组合在一起。它目前运行在Rails 3.1和Carrierwave上,希望这会有所帮助: