30

個人用の小さなレールアプリを作成しています。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

4 に答える 4

27

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

編集
アップロードされたファイルを取得するには、2つのオプションがあります。1。(推奨)ペーパークリップ
など のファイルアップロードプラグインを使用すると、ビットとボルトが処理されます。 2.次のようにIOオブジェクトを使用します:http://guides.rails.info/form_helpers.html#what-gets-uploaded
params[:dump][:excel_file]

于 2010-05-12T09:35:22.910 に答える
15

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

于 2010-06-02T07:39:34.257 に答える
4

roo宝石でこれを行う方法については、優れたRailsCastがあります:http: //railscasts.com/episodes/396-importing-csv-and-excel

于 2013-02-25T18:03:44.357 に答える
2

スプレッドシートの宝石を使用して、すべてがどのように組み合わされているかを理解するための簡単なアプリを作成しました。現在、Rails3.1とCarrierwaveで動作しています。これがお役に立てば幸いです。

https://github.com/jalagrange/excel_test_app

于 2011-11-03T13:49:25.217 に答える