2010-05-12 28 views
29

Ich erstelle eine kleine Rails App für den persönlichen Gebrauch und möchte in der Lage sein, Excel-Dateien hochzuladen, um später validiert und der Datenbank hinzugefügt zu werden. Ich hatte dies zuvor mit CSV-Dateien arbeiten, aber das ist seitdem unpraktisch geworden.Excel in Rails App importieren

Kennt jemand ein Tutorial zur Verwendung der Roo oder Tabellenkalkulation, um die Datei hochzuladen, den Inhalt dem Benutzer anzuzeigen und dann zur Datenbank hinzuzufügen (nach der Validierung)? Ich weiß, das ist ziemlich spezifisch, aber ich möchte das Schritt für Schritt durcharbeiten.

Alles, was ich bisher habe, ist ein ‚Import‘ Ansicht:

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

aber haben keine Ahnung, wie in der Steuerung dieses hochgeladene Datei zuzugreifen.

Alle Vorschläge/Hilfe wäre willkommen. Dank

+0

Aus Neugier war, warum die CSV-Datei Version unpraktisch? Musste der Endbenutzer zu viel tun, um den Schüler hochzuladen? Ich befürchte, dass meine Nutzer eingeschüchtert werden könnten, wenn sie zu csv covern müssen. –

Antwort

27

„Die Tabellenkalkulations Bibliothek wurde entwickelt, um zu lesen und Tabellendokumente zu schreiben. Ab Version 0.6.0, nur Microsoft Excel-kompatible Tabellen unterstützt. Tabellenkalkulations-a Kombination/vollständiges Neuschreiben der Spreadsheet :: Excel Library von Daniel J. Berger und der ParseExcel Library von Hannes Wyss. Spreadsheet kann Spreadsheet-Dokumente lesen, schreiben und ändern. "

EDIT
Um die hochgeladene Datei erhalten Sie haben zwei Möglichkeiten:
1. (empfohlen) etwas ein Datei-Upload-Plugin wie paperclip verwenden und es werden die Bits und Schrauben handhaben.
2. Verwendung des IO-Objekt params[:dump][:excel_file] Stand: http://guides.rails.info/form_helpers.html#what-gets-uploaded

15

wir roo verwenden, das Open Office unterstützen, Excel, Google, Excel.xlsx

+0

great one! thxnx viel – fl00r

Verwandte Themen