2010-05-12 16 views
29

Tworzę aplikację dla małych railsów do użytku osobistego i chciałbym móc przesyłać pliki Excela, aby później je sprawdzić i dodać do bazy danych. Miałem to wcześniej działa z plikami csv, ale od tego czasu stało się to niepraktyczne.Importowanie aplikacji Excel do aplikacji Railsowej

Czy ktoś wie o samouczku do używania klejnotu roo lub arkusza kalkulacyjnego do przesłania pliku, wyświetlenia zawartości użytkownikowi, a następnie dodania do bazy danych (po sprawdzeniu poprawności)? Wiem, że jest to dość specyficzne, ale chcę przejść przez ten krok krok po kroku.

Wszystko mam tak daleko jest „import” Widok:

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

Ale nie mam pojęcia, w jaki sposób uzyskać dostęp do tej przesłanego pliku w kontrolerze.

Wszelkie sugestie/pomoc będą mile widziane. Dzięki

+0

Z ciekawości, dlaczego wersja pliku CSV niepraktyczny? Czy to wymagało od użytkownika końcowego, aby zrobił dużo, aby przesłać ucznia? Obawiam się, że moi użytkownicy mogą być zastraszani przez ukrywanie w csv. –

Odpowiedz

27

„Arkusz kalkulacyjny Biblioteka przeznaczona jest do odczytu i zapisu arkusza kalkulacyjnego Dokumenty. Począwszy od wersji 0.6.0, kompatybilne tylko arkusze kalkulacyjne Microsoft Excel są obsługiwane. Arkusz jest Połączenie/kompletne przepisanie Biblioteki Arkusza Kalkulacyjnego :: Excel autorstwa Daniela J. Bergera i Biblioteki ParseExcel autorstwa Hannes Wyss. Arkusz kalkulacyjny może odczytywać, zapisywać i modyfikować dokumenty arkusza kalkulacyjnego. "

EDIT
Aby uzyskać przesłanego pliku masz dwie opcje:
1. (zalecane) używać coś przesłać plik wtyczki jak paperclip i będzie obsługiwać bity i śruby.
2. Zastosowanie obiekt IO params[:dump][:excel_file] wg: http://guides.rails.info/form_helpers.html#what-gets-uploaded

15

używamy roo które wspierają Open Office, Excel, Google, Excel.xlsx

+0

świetny! thxnx dużo – fl00r

Powiązane problemy