2010-05-12 29 views
29

Estoy creando una pequeña aplicación de rieles para uso personal y me gustaría poder cargar archivos de Excel para luego validarlos y agregarlos a la base de datos. Lo tenía trabajando previamente con archivos csv, pero esto se ha vuelto poco práctico.Importar Excel en la aplicación Rails

¿Alguien sabe de un tutorial para usar la joya 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 paso a paso.

Todo lo que tengo hasta ahora es una vista '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 tienen idea de cómo acceder a este archivo cargado en el controlador.

Cualquier sugerencia/ayuda sería bienvenida. Gracias

+0

Por curiosidad, ¿por qué era la versión del archivo csv ¿poco práctico? ¿Exigió que el usuario final hiciera mucho para subir al estudiante? Me temo que mis usuarios pueden sentirse intimidados al tener que esconderse a csv. –

Respuesta

27

"La hoja de cálculo Biblioteca está diseñado para leer y escribir documentos de hoja de cálculo. A partir de la versión 0.6.0, hojas de cálculo de Microsoft Excel que solamente sean compatibles son compatibles. Hoja de cálculo es una combinación/reescritura completa de la hoja de cálculo :: Excel Library por Daniel J. Berger y la biblioteca ParseExcel por Hannes Wyss. La hoja de cálculo puede leer, escribir y modificar los documentos de la hoja de cálculo ".

EDITAR
Para obtener el archivo subido tiene dos opciones: 1.
(recomendado) usar algo un plugin de carga de archivos como paperclip y que se encargará de los bits y los pernos.
2. Utilice el objeto IO params[:dump][:excel_file] según: http://guides.rails.info/form_helpers.html#what-gets-uploaded

15

utilizamos roo que apoyan Open Office, Excel, Google, Excel.xlsx

+0

¡excelente! thxnx mucho – fl00r

2

Hey yo uso la gema hoja de cálculo y escribió una aplicación sencilla de entender cómo todo encaja. Se ejecuta actualmente en los carriles 3.1 y Carrierwave, espero que esta ayuda:

https://github.com/jalagrange/excel_test_app

+0

La aplicación no se está ejecutando localmente. ¿Sabrías por qué? – CodeBiker

Cuestiones relacionadas