2010-05-12 8 views
29

Sto creando un'app per le piccole rotaie per uso personale e vorrei poter caricare file Excel per essere successivamente convalidati e aggiunti al database. Ho avuto questo lavoro in precedenza con i file CSV, ma questo da allora è diventato impraticabile.Importare Excel nell'app Rails

Qualcuno sa di un tutorial per l'utilizzo del roo o del foglio di calcolo per caricare il file, visualizzare i contenuti per l'utente e quindi aggiungere al database (dopo la convalida)? So che questo è abbastanza specifico, ma voglio lavorare passo dopo passo.

Tutto quello che ho finora è un 'importazione' Vista:

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

ma non hanno idea di come accedere a questo file caricato nel controller.

Qualsiasi suggerimento/aiuto sarebbe gradito. Grazie

+0

Per curiosità, perché era la versione del file CSV impraticabile? Ha richiesto all'utente finale di fare molto per caricare gli studenti? Temo che i miei utenti possano sentirsi intimiditi dal dover fare i conti con CSV. –

risposta

27

"Il foglio di calcolo Biblioteca è stato progettato per leggere e scrivere i fogli elettronici. A partire dalla versione 0.6.0, sono supportati i fogli di calcolo compatibile solo Microsoft Excel. Foglio di calcolo è un combinazione/riscrittura completa di Spreadsheet :: Excel Library di Daniel J. Berger e ParseExcel Library di Hannes Wyss. Il foglio di calcolo può leggere, scrivere e modificare documenti di fogli di calcolo. "

EDIT
Per ottenere il file caricato si hanno due opzioni:
1. (consigliato) Utilizzare qualcosa di un plugin upload di file come paperclip e gestirà i bit e bulloni.
2. utilizzare l'oggetto IO params[:dump][:excel_file] secondo: http://guides.rails.info/form_helpers.html#what-gets-uploaded

15

usiamo roo che supportano Open Office, Excel, Google, Excel.xlsx

+0

ottimo! thxnx un sacco – fl00r

2

Hey io uso la gemma foglio di calcolo e ha scritto una semplice applicazione per capire come tutto combacia. E 'attualmente gira su Rails 3.1 e Carrierwave, speriamo che questo aiuta:

https://github.com/jalagrange/excel_test_app

+0

L'app non è in esecuzione localmente. Sapresti perché? – CodeBiker