Importare file CSV

26 Giu 2008
Categoria: Ruby on Rails

La gestione di file CSV in una moderna web application è da considerarsi quasi obbligatoria per le enormi possibilità di gestione di listini e catalogo prodotti. Vediamo come gestire l’importazione

E’ molto semplice importare i file csv in ruby on rails:

Nel controller:

require ‘csv’

def csv_import
unless request.get? #se è un get visualizza la vista per effettuare l’upload
@parsed_file=CSV::Reader.parse(params[:dump][:file])
@parsed_file.each  do |row|
@colonna1=row[0]
@colonna2=row[1]
@colonna3=row[2]
end
flash.now[:message]=“CSV Importato Correttamente”

render :text => “#{@colonna1.inspect}, #{@colonna2.inspect}, #{@colonna3.inspect}”

end

end

e la vista per l’upload del file:

< % form_for :dump, :url=>{:controller=>“magazzino”, :action=>“csv_import”}, :html => { :multipart => true } do |f| -%>
<label for=‘dump_file’>
Seleziona un file CSV:
</label>
< %= f.file_field :file -%>
< %= submit_tag ‘INVIA -%>
< % end -%>

Se volete provare vi allego anche un semplicissimo file csv di prova

Csv di prova

Ciao!

Tag: , , ,

2 Commenti a “Importare file CSV”

  1. ynw Scrive:

    Mi permetto di segnalare FasterCSV (http://fastercsv.rubyforge.org/). Su file di grosse dimensioni la differenza si sente :)

  2. Filippo Scrive:

    Cavolo ynw, mi hai anticipato di poco…volevo proprio scrivere a breve un articolo su FasterCSV.

    Ho visto il tuo blog, complimenti!
    A presto!

Lascia un Commento

*
To prove you're a person (not a spam script), type the security word shown in the picture. Click on the picture to hear an audio file of the word.
Click to hear an audio file of the anti-spam word