28 votes

Importer Excel dans l'application Rails

Je suis entrain de créer une petite application rails pour un usage personnel et que vous souhaitez être en mesure de télécharger des fichiers excel pour ensuite être validé et ajouté à la base de données. J'ai eu ce travail préalable avec les fichiers csv, mais c'est depuis devenu impraticable.

Personne ne sait d'un tutoriel sur l'utilisation de règles d'origine ou une feuille de calcul gem pour télécharger le fichier, afficher le contenu à l'utilisateur, puis les ajouter à la base de données (après validation)? Je sais que c'est assez précis, mais je veux travailler par le biais de cette étape par étape.

Tout ce que j'ai jusqu'à présent est un "importer" de la vue:

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

Mais n'ai aucune idée de comment accéder à ce fichier téléchargé dans le contrôleur.

Toutes les suggestions/aide serait la bienvenue. Merci

26voto

clyfe Points 15388

"La feuille de calcul de la Bibliothèque est conçue pour lire et écrire des Documents de feuille de calcul. À partir de la version 0.6.0, seul Microsoft compatible avec Excel des feuilles de calcul sont pris en charge. Feuille de calcul est une combinaison/réécriture complète de la feuille de calcul::Excel Bibliothèque par Daniel J. Berger et le ParseExcel Bibliothèque par Hannes Wyss. Feuille de calcul permet de lire, écrire et modifier des feuilles de calcul."

MODIFIER
Pour obtenir le fichier téléchargé, vous avez deux options:
1. (recommandé) d'Utiliser quelque chose d'un upload de fichier plugin comme de trombone et de traiter les bits et les boulons.
2. utiliser le IO objet params[:dump][:excel_file] comme par: http://guides.rails.info/form_helpers.html#what-gets-uploaded

15voto

allenwei Points 1576

nous utilisons roo qui prend en charge Open Office, Excel, Google, Excel.xlsx

4voto

cgenco Points 298

Il y a un excellent RailsCast sur la façon de le faire avec la gem roo : http://railscasts.com/episodes/396-importing-csv-and-excel

2voto

jalagrange Points 537

Hé, j'utilise la feuille de calcul et j'ai écrit une application simple pour comprendre comment tout s'emboîte. Il fonctionne actuellement sur Rails 3.1 et Carrierwave, espérons que cela aide:

https://github.com/jalagrange/excel_test_app

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X