ruby-on-rails - roo - simple xlsx reader
Importar Excel en la aplicaciĆ³n Rails (4)
Estoy creando una aplicación de rieles pequeños para uso personal y me gustaría poder cargar archivos de Excel para luego validarlos y agregarlos a la base de datos. Anteriormente tuve este trabajo con archivos csv, pero esto ya no es práctico.
¿Alguien sabe de un tutorial para usar la gema de roo u hoja de cálculo para cargar el archivo, mostrar el contenido al usuario y luego agregarlo a la base de datos (después de la validación)? Sé que esto es bastante específico, pero quiero trabajar a través de este paso a paso.
Todo lo que tengo hasta ahora es una vista de ''importación'':
<% 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 -%>
Pero no tengo idea de cómo acceder a este archivo cargado en el controlador.
Cualquier sugerencia / ayuda sería bienvenida. Gracias
Hay un excelente RailsCast sobre cómo hacer esto con la gema roo
: http://railscasts.com/episodes/396-importing-csv-and-excel
Hola, uso la gema de la hoja de cálculo y escribí una aplicación simple para entender cómo encaja todo. Actualmente se ejecuta en Rails 3.1 y Carrierwave, espero que esto ayude:
usamos roo que admite Open Office, Excel, Google, Excel.xlsx
"La biblioteca de hojas de cálculo está diseñada para leer y escribir documentos de hojas de cálculo. A partir de la versión 0.6.0, solo se admiten hojas de cálculo compatibles con Microsoft Excel. La hoja de cálculo es una combinación / reescritura completa de la biblioteca de hojas de cálculo :: Excel de Daniel J. Berger y ParseExcel Biblioteca de Hannes Wyss. Spreadsheet puede leer, escribir y modificar documentos de hojas de cálculo ".
EDITAR
Para obtener el archivo cargado tienes dos opciones:
1. (recomendado) Use algo como un complemento de carga de archivos como un paperclip y manejará los bits y tornillos.
2. use los params[:dump][:excel_file]
objetos IO params[:dump][:excel_file]
según: http://guides.rails.info/form_helpers.html#what-gets-uploaded