Impor Excel ke aplikasi Rails

Saya membuat aplikasi Rails kecil untuk penggunaan pribadi dan ingin dapat mengunggah file excel untuk kemudian divalidasi dan ditambahkan ke database. Saya pernah melakukan ini sebelumnya dengan file csv, tetapi ini menjadi tidak praktis.

Adakah yang tahu tutorial menggunakan permata roo atau spreadsheet untuk mengunggah file, menampilkan konten kepada pengguna dan kemudian menambahkan ke database (setelah validasi)? Saya tahu ini cukup spesifik, namun saya ingin mengerjakannya langkah demi langkah.

Yang saya miliki sejauh ini hanyalah tampilan 'impor':

<% 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 -%>

Tapi tidak tahu cara mengakses file yang diunggah ini di pengontrol.

Setiap saran/bantuan akan diterima. Terima kasih


person Jack    schedule 12.05.2010    source sumber
comment
Karena penasaran, mengapa versi file csv tidak praktis? Apakah pengguna akhir harus melakukan banyak hal untuk mengunggah siswa? Saya khawatir pengguna saya akan terintimidasi karena harus menyamar ke csv.   -  person E.E.33    schedule 18.10.2012


Jawaban (4)


"Perpustakaan Spreadsheet dirancang untuk membaca dan menulis Dokumen Spreadsheet. Mulai versi 0.6.0, hanya spreadsheet yang kompatibel dengan Microsoft Excel yang didukung. Spreadsheet adalah kombinasi/penulisan ulang lengkap dari Spreadsheet::Perpustakaan Excel oleh Daniel J. Berger dan ParseExcel Perpustakaan oleh Hannes Wyss. Spreadsheet dapat membaca, menulis dan memodifikasi Dokumen Spreadsheet."

EDIT
Untuk mendapatkan file yang diunggah, Anda memiliki dua opsi:
1. (disarankan) Gunakan plugin pengunggah file seperti penjepit kertas dan itu akan menangani bagian-bagiannya.
2. gunakan objek IO params[:dump][:excel_file] sesuai: http://guides.rails.info/form_helpers.html#what-gets-uploaded

person clyfe    schedule 12.05.2010

kami menggunakan roo yang mendukung Open Office,Excel,Google,Excel.xlsx

person allenwei    schedule 02.06.2010
comment
tetapi roo tidak memiliki fungsi untuk menyimpan file .xlsx, hanya membaca dan menguraikan. atau aku tidak benar? - person bmalets; 19.03.2018

Ada RailsCast yang luar biasa tentang cara melakukan ini dengan permata roo: http://railscasts.com/episodes/396-importing-csv-and-excel

person cgenco    schedule 25.02.2013

Hai, saya menggunakan permata spreadsheet dan menulis aplikasi sederhana untuk memahami bagaimana semuanya cocok satu sama lain. Saat ini berjalan di Rails 3.1 dan Carrierwave, semoga ini bisa membantu:

https://github.com/jalagrange/excel_test_app

person jalagrange    schedule 03.11.2011
comment
Aplikasi tidak berjalan secara lokal. Tahukah Anda alasannya? - person CodeBiker; 02.07.2013