web-dev-qa-db-ja.com

ExcelをRailsアプリにインポートします

私は小さな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 -%>

しかし、コントローラでこのアップロードされたファイルにアクセスする方法がわかりません。

任意の提案/ヘルプを歓迎します。ありがとう

30
Jack

「スプレッドシートライブラリは、スプレッドシートドキュメントを読み書きするように設計されています。バージョン0.6.0以降では、Microsoft Excel互換のスプレッドシートのみがサポートされています。スプレッドシートは、Daniel J. BergerとParseExcelによるSpreadsheet :: Excelライブラリの組み合わせ/完全な書き換えです。 Hannes Wyssによるライブラリ。Spreadsheetは、Spreadsheet Documentsの読み取り、書き込み、変更を行うことができます。」

編集
アップロードされたファイルを取得するには、2つのオプションがあります。
1。 (推奨) Paperclip のようなファイルアップロードプラグインを使用すると、ビットとボルトが処理されます。
2。 IO object params[:dump][:Excel_file]に従って: http://guides.Rails.info/form_helpers.html#what-gets-uploaded

27
clyfe

使用する roo Open Office、Excel、Google、Excel.xlsxをサポートします

15
allenwei

roo gemを使用してこれを行う方法に関する優れたRailsCastがあります。 http://railscasts.com/episodes/396-importing-csv-and-Excel

3
cgenco

スプレッドシートの宝石を使用して、すべてがどのように組み合わされるかを理解するための簡単なアプリを作成しました。現在、Rails 3.1およびCarrierwaveで実行されています。これが役立つことを願っています。

https://github.com/jalagrange/Excel_test_app

2
jalagrange