代码之家  ›  专栏  ›  技术社区  ›  Jack

将Excel导入Rails应用程序

  •  30
  • Jack  · 技术社区  · 14 年前

    我正在创建一个供个人使用的小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 -%>
    

    但不知道如何访问控制器中上载的文件。

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

    4 回复  |  直到 10 年前
        1
  •  27
  •   peteretep    10 年前

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

    编辑
    要获取上载的文件,您有两个选项:
    1。(推荐)使用文件上传插件,比如 paperclip 它将处理钻头和螺栓。
    2。使用IO对象 params[:dump][:excel_file] 按: http://guides.rails.info/form_helpers.html#what-gets-uploaded

        2
  •  15
  •   peteretep    10 年前

    我们使用 roo 支持开放式Office、Excel、Google、Excel.xlsx

        3
  •  3
  •   cgenco    11 年前

    有一个很好的铁路公司如何用 roo 宝石: http://railscasts.com/episodes/396-importing-csv-and-excel

        4
  •  2
  •   jalagrange    13 年前

    嘿,我使用电子表格gem,编写了一个简单的应用程序来理解它是如何结合在一起的。它目前运行在Rails 3.1和CarrierWave上,希望这有助于:

    https://github.com/jalagrange/excel_test_app