2010-03-29 29 views

Respuesta

8

Para Excel

  1. he utilizado FasterCSV y this post para generar archivos CSV que se puede abrir en Excel muy bien.
  2. También puede crear una tabla HTML y usar archivos iqy para cargar Excel. Para hacer esto, puede crear nuevos alias y manejar los nuevos formatos .iqy y .excel.

En config/inicializadores/mime_types.rb

Mime::Type.register_alias "text/html", :excel 
Mime::Type.register "text/x-ms-iqy", :iqy 

Luego, en el controlador de manejar la .iqy y formatos .excel

respond_to do |format| 
    format.html 
    format.excel 
    format.iqy { 
    text = "WEB\n1\n%s" % URL_FOR_DATA_VIA_GET, :format => :excel) 
    render :text => text 
    } 
end 

su plantilla para el formato Excel debe ser sólo una Tabla HTML con los datos en ella. El formato iqy solo representa texto, ahora se necesita una plantilla de acción. Es posible que desee un archivo application.excel.erb que no tenga toda su navegación, etc., para que obtenga una buena tabla html limpia. También vea this KB article para más información iqy.

Para PDF

  1. See this other SO question, la suggested plug-in se ve bien, pero no lo han utilizado.
  2. He jugado, pero nunca lo he usado realmente en producción, prawn. Parecía bueno, simplemente no lo he usado.

Por Doc

sugeriría que sólo se adhieren con el texto simple o RTF. No conozco ningún complemento para esto, pero probablemente haya algo.

Otro enfoque

he utilizado JasperReports en proyectos Java puros con gran éxito. Sería posible usar el producto JasperServer, JRuby, su propio contenedor de aplicaciones o el puente ruby-java para generar los resultados con Jasper. Ver this post. Una vez que te va parte de Java, también obtienes el maravilloso JExcelApi.